Enhancing software requirements classification: a comparative study of deep learning model integration with embedding techniques
摘要
Documents outlining software requirements are among the most critical and frequently utilized components of software engineering. Identifying ambiguities and determining both functional and non-functional requirements within these documents is a challenging and time-consuming task for humans. Previous studies have proposed automatic software requirement classification using deep learning (DL) approaches in conjunction with text embedding techniques. However, the selection of the optimal combination of these approaches still warrants investigation, particularly in the context of non-functional requirement classification problem. In this paper, we investigated how various combinations of embedding techniques and deep learning models impact the classification performance. Having held several experiments, we reported the best approach for the task. We used three datasets namely. PROMISE_exp, FNFC for classifying functional and non-functional requirements, and Fault-prone SRS for classifying ambiguities. Initially, we pre-processed the texts and then extracted the embeddings through TF-IDF, Word2Vec, GloVe, and BERT techniques. Then, most popular DL algorithms are employed to classify the requirements. This work performs a deep empirical study on the DL and embedding approaches and find out the best combination of the approaches in the field of software requirements classification. In contrary to what may be expected, we have found that considering accuracy as the performance measure, the Glove model combined with Bidirectional Long Short-Term Memory (BiLSTM) outperforms any combinations. This better performance of the aforementioned approach in comparison with transformer-based models such as BERT may be due to the lower complexity and number of parameter and therefore unnecessity of parameter fine-tuning.