AI-assisted software development

AI software development optimisation From Wikipedia, the free encyclopedia

AI-assisted software development is the use of artificial intelligence (AI) to augment software development. It uses large language models (LLMs), natural language processing, intelligent agents and other AI technologies to assist software developers. It helps in a range of tasks of the software development life cycle, from initial code generation to subsequent debugging, testing and documentation.[1] Agentic coding denotes the use of more autonomous AI agents for software development.[2]

Technologies

Code generation

LLMs that have been trained on source code repositories are able to generate functional code from natural language prompts. Such models have knowledge of programming syntax, common design patterns and best practices in a variety of programming languages.[3]

Intelligent code completion

AI agents using pre-trained and fine-tuned LLMs can predict and suggest code completions based on context, going beyond simple keyword matching to infer the developer's intent and picture the broader structure of the developing codebase. An analysis has shown that such use of LLMs significantly enhances code completion performance across several programming languages and contexts, and the resulting capability of predicting relevant code snippets based on context and partial input boosts developer productivity substantially.[4]

Testing, debugging, code review and analysis

AI is used to automatically generate test cases, identify potential bugs, and suggest fixes. LLMs trained on historical bug data can enable prediction of likely failure points in generated code. Similarly, AI agents are used to perform static code analysis, identify security vulnerabilities, suggest performance improvements and ensure adherence to coding standards and best practices.[1]

Beyond detection, researchers have explored using LLMs for automated program repair, where models propose candidate patches for buggy code. Off-the-shelf LLMs have been reported to repair some security-relevant defects in a zero-shot setting (i.e., without task-specific fine-tuning), including issues categorized by the Common Weakness Enumeration (CWE),[5] being comparable to contemporary, non-AI bug fixing tools. These approaches build on LLMs’ code-generation capability and the resulting patches still require validation through software testing, static program analysis, and human code review.[5][6]

Challenges

The incorporation of AI tools has introduced new ethical dilemmas and intellectual property challenges. The ownership of AI-generated code is unclear: who is responsible for the generated end-product? Also unclear are the ethical responsibilities of generated code.[7] Changes in the role of software engineers are inevitable.[8][9]

Governance and oversight

The outputs from AI-assisted software development require to be validated through a combination of automated testing, static analysis tools and human review, creating a governance layer that acts as a safeguard ensuring quality and accountability.[10]

Industry perspectives

Technology sector leaders have highlighted the transformative potential of AI-assisted software development. In an 'Unlocking AI Potential' session of 'Advancing AI 2025' hosted by AMD Developer Central, Andrew Ng and Lisa Su emphasized the strategic and operational implications of integrating AI tools into development workflows. Ng noted that AI systems are increasingly capable of "helping programmers focus on higher-level problem solving", while Su framed the shift as "an opportunity to redefine performance and productivity across industries."[11]

Vibe coding

The term "vibe coding" was coined by AI researcher Andrej Karpathy (pictured in 2019)

In computer programming, vibe coding is a software development practice assisted by artificial intelligence (AI) such as by chatbots (programs that simulate conversation). The software developer describes a project or task in a prompt to a large language model (LLM), which generates source code automatically. Vibe coding involves accepting AI-generated code without reviewing it, instead relying on results and follow-up prompts to guide changes.[12][13]

The term was coined by computer scientist Andrej Karpathy, a co-founder of OpenAI and former AI leader at Tesla, in February 2025. Merriam-Webster listed the term in March 2025 as a "slang & trending" expression.[14] It was named the Collins English Dictionary Word of the Year for 2025.[15][16]

Advocates of vibe coding say that it allows even amateur programmers to produce software without the extensive training and skills required for software engineering.[17][18] Critics point out a lack of accountability, maintainability, and the increased risk of introducing security vulnerabilities in the resulting software.[12][18]

See also

References

Related Articles

Wikiwand AI