Open Access
Software Engineering Using Artificial Intelligence Techniques: Current State and Open Problems
Hany H. Ammar,W. Abdelmoez,Mohamed Hamdi +2 more
- 01 Jan 2012
50
TL;DR: This survey paper relates AI techniques to software engineering processes specified by the IEEE 12207 standard of software engineering, and brings the state of the art of AI techniques closer to the software engineer, and highlights the open research problems for the research community.
read more
Abstract: : This paper surveys the application of artificial intelligence approaches to the software engineering processes. These approaches can have a major impact on reducing the time to market and improving the quality of software systems in general. Existing survey papers are driven by the AI techniques used, or are focused on specific software engineering processes. This paper relates AI techniques to software engineering processes specified by the IEEE 12207 standard of software engineering. The paper is driven by the activities and tasks specified in the standard for each software engineering process. The paper brings the state of the art of AI techniques closer to the software engineer, and highlights the open research problems for the research community. Keywords: Automated Software Engineering, Artificial Intelligence Techniques. 1. Introduction 2. The software intensive systems we develop these days are becoming much more complex in terms of the number of functional and nonfunctional requirements they need to support. The impact of low quality can also have a catastrophic impact on the mission of these systems in many critical applications. Moreover, the cost of software development dominates the total cost of such systems. Research in applying artificial intelligence techniques to software Engineering have grown tremendously in the last two decades producing a large number of projects and publications. A number of conferences and journals are dedicated to publish the research in this field. The AI techniques are proposed in order to reduce the time to market and enhance the quality of software systems. Yet many of these AI techniques remain largely used by the research community and with little impact on the processes and tools used by the practicing software engineer. The recent survey papers published in this field are mainly targeted to the research community. They are driven by the specific AI techniques used rather than the software engineering activities supported. They are also focused on a specific software engineering process such as software design [28] This survey paper attempts to close the gap between the research and practice of applying AI techniques to the software engineering processes. It also highlights open practical problems to the research community in applying such techniques by surveying the recently proposed work in this area. We use the terminology and the processes defined by the IEEE 12207 standard of software engineering. We then map the current state art of AI art techniques proposed in the literature to specific tasks and activities of some of the software processes define by the 12207 standard. These AI techniques attempt to automate or semi-automate these tasks and produce optimal or semi-optimal solutions in much less time. . The paper is organized as follows. In section 2, we give an overview of the IEEE 12207 standard of software engineering, and describe the most important AI techniques. We survey the current AI techniques proposed for the primary processes of development in sections 3. We highlight the open problems in section 4.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Applications of AI in classical software engineering
TL;DR: The analysis results that major achievements and future potentials of AI are the automation of lengthy routine jobs in software development and testing using algorithms and the structured analysis of big data pools to discover patterns and novel information clusters and the systematic evaluation of these data in neural networks.
Intelligent software engineering in the context of agile software development: A systematic literature review
Mirko Perkusich,Lenardo Chaves e Silva,Antonio Alexandre Moura Costa,Felipe Barbosa Araújo Ramos,Renata M. Saraiva,Arthur Silva Freire,Ednaldo Dilorenzo,Emanuel Dantas,Danilo F. S. Santos,Kyller Costa Gorgônio,Hyggo Almeida,Angelo Perkusich +11 more
TL;DR: Overall, although the topic area is up-and-coming, for many areas of application, it is still in its infancy, so there is a need for more empirical studies, and there are a plethora of new opportunities for researchers.
75
(AIAM2019) Artificial Intelligence in Software Engineering and inverse: Review
TL;DR: This paper is a broad-based review of using artificial intelligence to improve software engineering (SE), and vice versa, and intends to review the techniques developed in artificial intelligence from the standpoint of their application in software engineering.
26
Artificial Intelligence Techniques in Software Engineering for Automated Software Reuse and Design
Divanshi Priyadarshni Wangoo
- 01 Dec 2018
TL;DR: An analysis of several AI techniques in software reuse domain of software engineering is discussed for automated software reuse and identification of potential research prospects in the field.
25
Advances in Artificial intelligence Using Speech Recognition
TL;DR: This research intends to present the illustration of recent technological advancements, which are associated with artificial intelligence, to help in understanding all of the statistical models of speech recognition.
References
Constraint-based automatic test data generation
R.A. DeMilli,A.J. Offutt +1 more
TL;DR: Godzilla is a fault-based technique that uses algebraic constraints to describe test cases designed to find particular types of faults and has been integrated with the Mothra testing system.
884
Classification of research efforts in requirements engineering
TL;DR: This article proposes and justifies a trial classification scheme for requirements engineering, and the scheme has been refined somewhat in response to inadequacies discovered during the process of selecting the program.
•Book
The Requirements Engineering Handbook
Ralph Rowland Young
- 30 Nov 2003
TL;DR: The importance of requirements the roles of the requirements analyst skills and characteristics of an effective requirements analyst types of requirements gathering requirements best practices for requirements development and management requirements analyst's specialty skills an integrated quality approach.
238
Survey: A survey on search-based software design
TL;DR: The basics of the most popular meta-heuristic algorithms are presented as background to the search-based viewpoint, and the choices regarding critical decisions, when used in meta- heuristic search algorithms, are emphasized and discussed in detail.
195
Assisting requirement formalization by means of natural language translation
Alessandro Fantechi,Stefania Gnesi,Gioia Ristori,M. Carenini,M. Vanocchi,P. Moreschini +5 more
- 01 May 1994
TL;DR: A prototype assistant, NL2ACTL, is presented for the formalization of behavioural requirements for the design of reactive systems, a tool for the automatic translation of Natural Language sentences, into formulae of the action-based temporal logic ACTL.
105