*Result*: Mitigating Software Development Failures Through Artificial Intelligence: A Contemporary Analysis.
*Further Information*
*The software industry still struggles with developing systems that do what they are intended to do in ways that make sense for human interaction and for the workplace in which they will operate. Established methodologies for developing new software systems are based on overly idealized ideas of how people interact. In contrast, the application of AI technologies to software engineering problems occurs at the intersections between AI and the software development process. For example, AI-based specification processes can identify requirements gaps and issues, whereas the use of generative AI platforms can include support for automated code generation and database query optimization. Full observability coverage can be achieved in distributed systems through automated instrumentation of code. Problems can be diagnosed and fixed quickly. Full coverage can also be provided through AI test generation, which explores paths of execution for defects. An AI-augmented development process enables improvements to each phase of the development process to improve succeeding phases (e.g., an improvement in the specification process improves coding, an improvement in instrumentation improves anticipatory fixes, and improved automated testing produces fewer production defects). These improvements to the standard development process enable organizations to create higher-quality software that better meets real user needs, while reducing cost and overhead. [ABSTRACT FROM AUTHOR]*