Recurrent Neural Networks to automate Quality assessment of Software Requirements
This addresses the problem of improving software development efficiency for practitioners by automating quality checks, but it is incremental as it applies existing methods to a specific domain.
The paper tackles the problem of automating quality assessment of software requirements written in natural language, which are prone to inconsistencies and ambiguities, by proposing an approach combining natural language processing and recurrent neural networks, achieving an average accuracy of 75% on a dataset of 1000 requirements.
Many problems related to the quality of requirements arise during elicitation and specification activities since they are written in natural language. The flexibility and inherent nature of language make requirements prone to inconsistencies, redundancies, and ambiguities, and consequently, this influences negatively the later phases of the software life cycle. To address this problem, this paper proposes an innovative approach that combines natural language processing techniques and recurrent neural networks to automatically assess the quality of software requirements. Initially, the analysis of singular, complete, correct, and appropriate quality properties defined in the IEEE 29148: 2018 standard is addressed. The proposed neural models are trained with a data set composed of 1000 software requirements. The proposal provides an average accuracy of 75%. These promising results were a motivation to explore its application in the evaluation of other quality properties