Home  >  Article  >  Technology peripherals  >  Ten ways generative AI will change software development

Ten ways generative AI will change software development

WBOY
WBOYforward
2024-03-11 12:10:02632browse

Translator| Chen Jun

##Reviewer| Chonglou

Last century90When people mentioned software programming, it usually meant choosing an editor and checking the code intoCVS or SVN code base, and then compile the code into an executable file. The corresponding integrated development environments such as Eclipse and Visual Studio (IDE ) can incorporate programming, development, documentation, construction, testing, deployment and other steps into a complete software development life cycle (SDLC), thus improving the work efficiency of developers .

Ten ways generative AI will change software development

In recent years, popular cloud computing and DevSecOps automation tools It improves the comprehensive capabilities of developers, making it easier for more enterprises to develop, deploy and maintain software applications.

Today, generative AI serves as a catalyst for the next generation development paradigm shift, promising to change the way enterprises create and maintain software and bring new development tools and paradigms. In this regard, many developers are beginning to wonder whether AI will lead to the demise of programming skills as we know them. At the same time, IT leaders of various enterprises are also considering: How will AI affect SDLCand in the next ten years? The development of DevSecOps. With these two questions, I will work with you to find the answers below. Generative AI Is generative AI a new tool or a new way of development?

Pulumi

#CEOJoe Duffy believes: "AI will enhance the automation of programming, greatly improve the productivity and output of enterprises, thereby improving the abstraction level of human operations, but will not truly replace programming." Ashish Kakran, head of Thomvest Ventures, believes: "Generative AI is subverting the software delivery life cycle." Development and DevOps teams will become Be more productive. At the same time, as the functions of generative AI continue to be improved, the responsibilities of developers will be adjusted accordingly. Matillion

The company’s Chief Technology OfficerEd Thompson believes: “Copilots## The current form of # actually improves the productivity of developers and eliminates their past busyness. Those who believe that Copilots has fundamentally changed the programming world People mistakenly assume that a developer’s job is just to write code, not to solve real-world problems." So, how does generative ##What about changing the software development world? 1.Generate standard code based on natural language prompts

Astronomer

#Airflow

Engineering DirectorKaxil Naik believes: “The code template generated through AI, and AI-assisted Copilot translates natural language into functional code, simplifying understanding of complex code bases and ensuring development best practices are adhered to willmake programming work more efficient."StackOverflow's2023

Developer survey shows that 70% of developers are using or planning to use AI tools in the development process. Among those who have used AI for development, more than 82% have used AI to write software code. These numbers are enough to show that the way developers traditionally write code, reuse existing code, and build components is undergoing a paradigm shift. 2.Code verification is an important responsibility of developers

In addition to making programming easier To make it simpler and more efficient, developers need to bear an important responsibility to spend a lot of time and use efficient tools to verify the code to avoid security issues or performance defects in the generated code. Peter McKee, director of developer relations at Sonar "AI is used to improve productivity, and they have the responsibility to conduct thorough inspections of what the AI ​​generates." Often, cleaning as they are programmed ensures that ongoing inspections and monitoring are performed during the delivery process. This allows developers to spend more time on new tasks instead of fixing potential bugs and vulnerabilities in manually created or AI-generated code.

McKee added: “If developers fail to use automation to scan and monitor AI-generated code, it means that the subsequent code that needs to be fixed and the technical debt will increase exponentially. 3.Become a new development model for large enterprises

Use generative expressions

AIHow tool development code may impact individual development teams In large enterprises, thousands of application tools and standards are supported. If developers only need to write less code and do more What will development work look like for large enterprises when integrated with code developed by generative

#?

##Red HatMarkus Eisele of the Development Tools and Strategic Promotion Department believes: “Different tool combinations for different teams will lead to There is a lack of standardized and unified development practices, not to mention the resulting increase in cognitive differences among developers. "The centralized development portal built by AI can facilitate easy access by the development team and achieve best practices for cross-team applications by eliminating friction in the collaboration process. This means that the integrated development environment may transform into an assembly Platform, similar to computer-aided design (

CAD) in manufacturing or building information modeling (BIM) in construction .The focus will shift from building custom components to assembling existing components and leveraging built-in tools to verify designs.4.Reduction in programming effort, code supply Increased chain risk Another impact of code developed using

generative AI is that it involves businesses How will leaders develop relevant policies and monitor what supply chain code is embedded in enterprise applications. Historically, it has been open source and commercial software components that enterprises have needed to continuously track. In the future, they will need to add generative AI outputs this new dimension.

Live CTO of SonatypeIlkka Turunen believes: “Developers need to play an important role in maintaining and managing the AI ​​supply chain. They will conduct more stringent reviews of the safety, authenticity and origin of AI models in their daily operations. By implementing an AI risk assessment and properly managing the AI ​​model bill of materials, enterprises should ensure that development infrastructure has appropriate AI security and management. ”

In practice, SAST, DAST, and other security and code Management tools that can improve the automation of code scanning and help verify whether the output code of

generative AI complies with security policies before developers integrate the code into the enterprise resource library .5.Accelerated integration of new modelsIn Over the past decade,

API has grown through #SaaSIntegration platforms, Integration Platform as a Service (

iPaaS), and other ecosystem technologies have improved developers’ code integration capabilities by orders of magnitude. Nonetheless, developers still need Do a lot of basic work to map data fields and program logical transformations to ensure reliability and performance. Using generative AI, developers can build products with natural language requirements , code-free integration of visual processes. Emmanuel Cassimatis, who works in the SAP AI and Innovation team, believes: “In the past, From design, build, test, integration, deployment, delivery to review, the different steps in the entire development life cycle have always been fragmented. AI can mine data from different applications and achieve a unified integration level, thereby strengthening collaboration among developers. ”

6.Developers will be the managers of AI agents

Chief of Honeycomb Product manager Phillip Carter believes that generative AI will change the future tasks of developers and quality assurance (QA) engineers. “In the future, natural language is likely to guide more code generation and testing to verify the generated code. AI agents will do most of the work, and developers will need to set programming goals and constraints for these agents to follow. ”

Carter continues to boldly predict: “AI agents can analyze the behavior of programs when they are running and check for unknown factors to perform tasks that were beyond the reach of developers in the past. QA, observability, and security tasks." Accordingly, developers can define system architecture, non-functionality, and operational requirements from a high-level perspective to guide generative AI Code development and automated testing rather than doing it yourself.

7.AI is introduced into multiple stages of SDLC

While currently Copilots and many generative AI The tool is primarily focused on programming, but its new capabilities will also change other stages in SDLC. Humberto Moreira, principal solutions engineer at Gigster believes: “As generative AI is incorporated into the SDLC, different models will have specific cycles for which they are most suitable. stage. For example, model A may be optimized for requirements; model B is for code development, while model C is for QA."

In fact, due to various tools It provides more powerful test cases and can provide faster feedback on code changes, so the shift to the generative AI model has had a certain impact on QA. Gilad Shriki, co-founder of Descope, said: "With the rise of AI, from SDK to testing to documentation, all aspects surrounding software engineering will be assisted by generative AI. Development People even need to document their work in a specific AI usage format."8.Generative AI

Segment development roles The role of generative AI in software development may be separated from the current traditional human development function. In other words, different code generators, compilers, and other development segment roles played by machines will gradually emerge.

Chainguard#Dustin Kirkland

believes: "In addition to human developers From the familiar perspective of traditional code development, another hidden perspective will appear. Although this perspective is less readable to humans, it can be fully understood by the compiler and interpreter played by AI. It will serve as another This middle layer of code provides a so-called AI security optimized defense view." However, some people question whether the security identification capabilities of AI itself are accurate and efficient. 9.AI improves the operational capabilities of the development process

LaunchDarkly’s Developer Experience Director Cody De Arkland

proposed the use of generative AI, and interactive learning to help improve software Application reliability and operability use cases. These include: Develop and generate web application components that conform to the learned and meet the design standards

  • When detecting that a developer has created a new feature, create a corresponding feature tag
  • Start a new software deployment (CI/CD) and the ability to roll it back if problems are discovered
  • Run via customization instead of deployment Post-run, providing a real-time feedback loop for QA
  • Of course, these use cases also come with a problem:Generative AI
  • What next generation development and

SRE capabilities will be enabled or enhanced. 10.AI risks that enterprises must guard against

As generative AI becomes more involved in the overall

SDLC, a new question may arise, namely: Generative AIPotential risks such as intellectual property rights (including code and data). To do this, companies need to weigh whether the benefits outweigh the risks.

TabnineEcosystem Vice President of Business DevelopmentBrandon Jung believes: We need to pay close attention to the data entering the model, especially the training set of data, spend time and effort to evaluate and select AI models to protect the enterprise's most valuable assets --code and data.

Although we are still in the early stages of developing software with Generative AI, Generative AI Whether algorithms, and the tools that support these algorithms, can establish safeguards to protect corporate assets depends to a large extent on Generative AIThe software itself Development, testing, deployment, and maintenance capabilities.

Translator introduction

##Julian Chen, 51CTO community editor, With more than ten years of experience in IT project implementation, he is good at managing and controlling internal and external resources and risks, and focuses on disseminating network and information security knowledge and experience.

Original title: 10 ways generative AI will transform software development , by Isaac Sacolick

The above is the detailed content of Ten ways generative AI will change software development. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete