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

08/03/2021
by   Feras A. Batarseh, et al.
7

The field of artificial intelligence (AI) is witnessing a recent upsurge in research, tools development, and deployment of applications. Multiple software companies are shifting their focus to developing intelligent systems; and many others are deploying AI paradigms to their existing processes. In parallel, the academic research community is injecting AI paradigms to provide solutions to traditional engineering problems. Similarly, AI has evidently been proved useful to software engineering (SE). When one observes the SE phases (requirements, design, development, testing, release, and maintenance), it becomes clear that multiple AI paradigms (such as neural networks, machine learning, knowledge-based systems, natural language processing) could be applied to improve the process and eliminate many of the major challenges that the SE field has been facing. This survey chapter is a review of the most commonplace methods of AI applied to SE. The review covers methods between years 1975-2017, for the requirements phase, 46 major AI-driven methods are found, 19 for design, 15 for development, 68 for testing, and 15 for release and maintenance. Furthermore, the purpose of this chapter is threefold; firstly, to answer the following questions: is there sufficient intelligence in the 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 current conventional wisdom (i.e., status quo) of the state-of-the-art, craft a call for action, and to redefine the path forward.

READ FULL TEXT
research
11/07/2020

Software engineering for artificial intelligence and machine learning software: A systematic literature review

Artificial Intelligence (AI) or Machine Learning (ML) systems have been ...
research
03/16/2021

Understanding and Modeling AI-Intensive System Development

Developers of AI-Intensive Systems–i.e., systems that involve both "trad...
research
06/07/2021

Preference Discovery in Large Product Lines

When AI tools can generate many solutions, some human preference must be...
research
03/15/2020

How to Improve AI Tools (by Adding in SE Knowledge): Experiments with the TimeLIME Defect Reduction Tool

AI algorithms are being used with increased frequency in SE research and...
research
03/23/2023

A Case Study on AI Engineering Practices: Developing an Autonomous Stock Trading System

Today, many systems use artificial intelligence (AI) to solve complex pr...
research
07/20/2023

Assessing the Use of AutoML for Data-Driven Software Engineering

Background. Due to the widespread adoption of Artificial Intelligence (A...
research
10/21/2022

Navigating the challenges in creating complex data systems: a development philosophy

In this perspective, we argue that despite the democratization of powerf...

Please sign up or login with your details

Forgot password? Click here to reset