Litcius/Paper detail

Classification of Non-functional Requirements Using Convolutional Neural Networks

S. E. Martínez García, Carlos Alberto Fernández-y-Fernández, E. G. Ramos Pérez

2023Programming and Computer Software12 citationsDOI

Abstract

Abstract The requirements phase is the core of software development, if it is not carried out correctly it can cause its failure. To combat this problem, analysts have used requirements engineering (ER, for its acronym in English), which is characterized by producing a list of quality requirements called requirements specification (RS, for its acronym in English). The SR performs the requirements classification activity, which consists of identifying the class to which each requirement belongs so that analysts face the challenge of classifying them properly. This work is focused on improving the performance of the classification of non-functional requirements (NFR); that is, with the help of a convolutional neural network. It also seeks to show the importance of preprocessing, the implementation of sampling strategies, and the use of previously trained matrices such as Fasttext, Glove, and Word2vec. The results were obtained by evaluating the metrics Recall, Precision, and F1 with an average increase of up to 30% over related work. Finally, the evaluation of the model is presented with respect to the pre-trained matrices with the ANOVA analysis.

Topics & Concepts

Convolutional neural networkComputer scienceArtificial intelligencePattern recognition (psychology)Software Engineering ResearchSoftware Engineering Techniques and PracticesSoftware System Performance and Reliability