The application of artificial intelligence in software engineering: a review challenging conventional wisdom

  • 2021-08-03 15:59:59
  • Feras A. Batarseh, Rasika Mohod, Abhinav Kumar, Justin Bui
  • 0

Abstract

The field of artificial intelligence (AI) is witnessing a recent upsurge inresearch, tools development, and deployment of applications. Multiple softwarecompanies are shifting their focus to developing intelligent systems; and manyothers are deploying AI paradigms to their existing processes. In parallel, theacademic research community is injecting AI paradigms to provide solutions totraditional engineering problems. Similarly, AI has evidently been proveduseful to software engineering (SE). When one observes the SE phases(requirements, design, development, testing, release, and maintenance), itbecomes clear that multiple AI paradigms (such as neural networks, machinelearning, knowledge-based systems, natural language processing) could beapplied to improve the process and eliminate many of the major challenges thatthe SE field has been facing. This survey chapter is a review of the mostcommonplace methods of AI applied to SE. The review covers methods betweenyears 1975-2017, for the requirements phase, 46 major AI-driven methods arefound, 19 for design, 15 for development, 68 for testing, and 15 for releaseand maintenance. Furthermore, the purpose of this chapter is threefold;firstly, to answer the following questions: is there sufficient intelligence inthe SE lifecycle? What does applying AI to SE entail? Secondly, to measure,formulize, and evaluate the overlap of SE phases and AI disciplines. Lastly,this chapter aims to provide serious questions to challenging the currentconventional wisdom (i.e., status quo) of the state-of-the-art, craft a callfor action, and to redefine the path forward.

 

Quick Read (beta)

loading the full paper ...