An Ensemble Learning Approach to Software Requirement Classification with Recursive Feature Elimination and Balance Bagging Classifier
Abstract
Software development begins with the critical requirement phase, where user ideas are translated into structured requirements. Clear and accurate documentation of user requirements is fundamental for delivering a high-quality software product. However, this process involves classifying requirements into functional and non-functional categories, which can be time-consuming and error-prone when done manually. To address these challenges, this paper introduces a state-of-the-art model utilizing the Random Forest ensemble learning algorithm for the classification of software requirements. The aim is to enhance the efficiency and accuracy of this classification process. The proposed model was evaluated using precision, recall, F1-score and accuracy performance metrics. The results unveiled the model's exceptional performance, attaining a precision of 0.98, recall of 0.95, F1-score of 0.95, and an astounding accuracy of 0.99, representing a remarkable 99% performance rate. Notably, this performance outshines existing algorithms, specifically the Support Vector Machine (SVM) and K-Nearest Neighbors (KNN), by significant margins, with differences of 0.08, 0.09, 0.09, and 0.24 in precision, recall, F1-score, and accuracy, respectively. In conclusion, the paper recommends the adoption of the Bagging Random Forest model for software requirement classification.
Full Text:
PDFReferences
Abad, Z. S. H., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., & Schneider, K. (2017, September). What works better? a study of classifying requirements. In 2017 IEEE 25th International Requirements Engineering Conference (RE) (pp. 496-501). IEEE.
Ayush, P. (2019, January 22). Introduction to Logistic Regression. Towards Data Science. https://towardsdatascience.com/introduction-to-logistic-regression-66248243c148
Baker, C., Deng, L., Chakraborty, S., &Dehlinger, J. (2019, July). Automatic multi-class non-functional software requirements classification using neural networks. In 2019 IEEE 43rd annual computer software and applications conference (COMPSAC) (Vol. 2, pp. 610-615). IEEE.
Bandakkanavar, R. (2022, January 30). Software Requirements Specification document with example. Krazytech. https://krazytech.com/projects/sample-software-requirements-specificationsrs-report-airline-database
Chung, L., & do Prado Leite, J. C. S. (2009). On non-functional requirements in software engineering. Conceptual modeling: Foundations and Applications: Essays in honor of john mylopoulos, 363-379.
Deocadez, R., Harrison, R., & Rodriguez, D. (2017, September). Automatically classifying requirements from app stores: A preliminary study. In 2017 IEEE 25th international requirements engineering conference Workshop (REW) (pp. 367-371). IEEE.
Dias Canedo, E., & Cordeiro Mendes, B. (2020). Software requirements classification using machine learning algorithms. Entropy, 22(9), 1057.
Haque, M. A., Rahman, ,l.0;M. A., & Siddik, M. S. (2019, May). Non-functional requirements classification with feature extraction and machine learning: An empirical study. In 2019 1st International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT) (pp. 1-5). IEEE.
Harrison, O. (2018, September 10). Machine Learning Basics with the K-Nearest Neighbors Algorithm. Towards Data Science. https://towardsdatascience.com/machine-learning-basics-with-the-k-nearest-neighbors-algorithm-6a6e71d01761
Ivanov, V., Sadovykh, A., Naumchev, A., Bagnato, A., & Yakovlev, K. (2022, August). Extracting Software Requirements from Unstructured Documents. In Recent Trends in Analysis of Images, Social Networks and Texts: 10th International Conference, AIST 2021, Tbilisi, Georgia, December 16–18, 2021, Revised Selected Papers (pp. 17-29). Cham: Springer International Publishing.
Khayashi, F., Jamasb, B., Akbari, R., & Shamsinejadbabaki, P. (2022). Deep Learning Methods for Software Requirement Classification: A Performance Study on the PURE dataset. arXiv preprint arXiv:2211.05286.
Kici, D., Malik, G., Cevik, M., Parikh, D., &Basar, A. (2021, June). A BERT-based transfer learning approach to text classification on software requirements specifications. In Canadian Conference on AI.
Lu, M., & Liang, P. (2017, June). Automatic classification of non-functional requirements from augmented app user reviews. In Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering (pp. 344-353).
Mahmoud, A., & Williams, G. (2016). Detecting, classifying, and tracing non-functional software requirements. Requirements Engineering, 21, 357-381.
Malik, G., Cevik, M., Khedr, Y., Parikh, D., &Basar, A. (2021). Named Entity Recognition on Software Requirements Specification Documents. At Canadian Conference on AI
More, V. (2021, March 26). What Is Ensemble Learning? Understanding Machine Learning Techniques. https://www.simplilearn.com/ensemble-learning-article
Navarro-Almanza, J., Alba-Castro, J. L., &Pelechano, V. (2017). Applying machine learning techniques to automatically classify requirements. Information and Software Technology, 82, 31-43.
Ormandjieva, O., Hussain, I., &Kosseim, L. (2007, September). Toward a text classification system for the quality assessment of software requirements written in natural language. In Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting (pp. 39-45).
Rahimi, N., Eassa, F., &Elrefaei, L. (2021). One-and-two-phase software requirement classification using ensemble deep learning. Entropy, 23(10), 1264.
Rahman, M. A., Haque, M. A., Tawhid, M. N. A., &Siddik, M. S. (2019, August). Classifying non-functional requirements using RNN variants for quality software development. In Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation (pp. 25-30).
Ray, S. (2017, September 12). SVM | How to Use Support Vector Machines (SVM) in Data Science. How to Use Support Vector Machines (SVM) in Data S. https://www.analyticsvidhya.com/blog/2017/09/understaing-support-vector-machine-example-code/
Sommerville, I. (2016). Software Engineering (10th ed.). Pearson.
Talele, P., &Phalnikar, R. (2021). Software requirements classification and prioritization using machine learning. In Machine Learning for Predictive Analysis: Proceedings of ICTIS 2020 (pp. 257-267). Springer Singapore.
Tiun, S., Mokhtar, U. A., Bakar, S. H., & Saad, S. (2020, April). Classification of functional and non-functional requirements in software requirements using Word2vec and fast Text. In the journal of Physics: conference series (Vol. 1529, No. 4, p. 042077). IOP Publishing.
Tóth, L., &Vidács, L. (2018). Study of various classifiers for identification and classification of non-functional requirements. In Computational Science and Its Applications–ICCSA 2018: 18th International Conference, Melbourne, VIC, Australia, July 2-5, 2018, Proceedings, Part V 18 (pp. 492-503). Springer International Publishing.
Vadapalli, P. (2022, October 3). Multinomial Naive Bayes Explained: Function, Advantages & Disadvantages, Applications in 2023. UpGrad blog. https://www.upgrad.com/blog/multinomial-naive-bayes-explained/
Wiegers, K. E. (2007, August 6). Software requirements specification and IEEE standards. TechTarget. https://www.techtarget.com/searchsoftwarequality/answer/Software-requirements-specification-and-the-IEEE-standard
Wiegers, K., & Beatty, J. (2013). Software requirements. Pearson Education.
Winkler, J., & Vogelsang, A. (2016, September). Automatic classification of requirements based on convolutional neural networks. In 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW) (pp. 39-45). IEEE.
Yang, Z., Chen, Y., Zhou, Y., Li, M., & Jiang, Y. (2015). On the localness of software. IEEE Transactions on Software Engineering, 41(3), 287-306.
Zubcoff, J., Garrigós, I., Casteleyn, S., Mazón, J. N., Aguilar, J. A., & Gomariz-Castillo, F. (2019). Evaluating different i*-based approaches for selecting functional requirements while balancing and optimizing non-functional requirements: A controlled experiment. Information and Software Technology, 106, 68-84.
Refbacks
- There are currently no refbacks.