Artificial Intelligence Techniques for Requirements Engineering: A Comprehensive Literature Review
Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Software requirements engineering is one of the most critical and time-consuming phases of the software development process. The lack of communication with stakeholders and the use of natural language for communicating leads to misunderstanding and misidentification of requirements or the creation of ambiguous requirements, which can jeopardize all subsequent steps in the software development process and can compromise the quality of the final software product. Natural Language Processing is an old area of research, however, it is currently undergoing strong and very positive impacts with recent advances in the area of ML, namely with the emergence of Deep Learning and, more recently, with the so-called transformer models such as BERT and GPT. Software requirements engineering is also being strongly affected by the entire evolution of ML and other areas of AI. In this article we make a systematic review on how AI, ML and NLP are being used in the various stages of requirements engineering, including requirements elicitation, specification, classification, prioritization, requirements management, requirements traceability, etc. Furthermore, we identify which algorithms are most used in each of these stages.