Enhancing Software Requirements Classification: Integrating Recurrent Neural Networks and Natural Language Processing for Managing Structural Complexity

Authors

  • Justine Nakirijja, Abid Yahya, Ravi Samikannu, Lory Liza D.Bulay-og

Keywords:

Requirements Engineering, Deep Learning, Recurrent Neural Network, Requirements Classification, Structural Complexity in Software, NLP

Abstract

The inherent complexity of software requirements poses significant challenges in project planning and quality assurance. This research addresses these challenges by enhancing the classification of software requirements. It explores the dynamic relationships between requirements and their associated acceptance criteria through advanced deep-learning methods. The primary objective is to improve the accuracy and efficiency of requirements classification, thereby contributing to more effective project management and development processes. We propose a novel approach using a Recurrent Neural Network for Requirement Engineering (RNNRE) model.  This model integrates natural language processing to analyze and process complex, multilevel requirements’ temporal and functional dynamics. Our methodology is rigorously tested on the Baseline EMR, a comprehensive real-world dataset, to assess the model’s effectiveness and accuracy in classifying software requirements. Results: The study reveals that finer granularity in requirement conditions substantially influences classification outcomes, impacting the precision of acceptance statements. The RNNRE model demonstrates robust performance, achieving an accuracy of 82.6%, a recall rate of 80%, and a precision of 100%. These results notably surpass the performance of several benchmarked state-of-the-art models, showcasing the model’s effectiveness in handling complex requirement scenarios. The RNNRE model marks a significant advancement in refining the requirements engineering process, particularly for intricate and multileveled requirements. This research demonstrates the practical application of deep learning in requirements classification. It contributes valuable insights to the field, enhancing the understanding and methodology of managing structural complexity in software requirements engineering.

Downloads

Download data is not yet available.

References

Abualhaija, S., Arora, C., Sabetzadeh, M., Briand, L. C. & Traynor, M. Automated demarcation of requirements in textual specifications: a machine learning-based approach. Empirical Software Engineering, 25 (2020), 5454–5497. https://link.springer.com/article/10.1007/s10664-020-09864-1

Sleem, S., Capretz, L. F. & Ahmed, F. Benchmarking machine learning tech- nologies for software defect detection., 2015, https:arXiv preprint arXiv:1506.07563. https://doi.org/10.48550/arXiv.1506.07563

Alrumaih, H., Mirza, A. & Alsalamah, H. Domain ontology for requirements classi- fication in a requirements engineering context. IEEE Access, 8 (2020), 89899–89908. https://ieeexplore.ieee.org/document/9091131

AlOmar, E., A., Mkaouer, W., M., Newman, C. & Ouni, A. On preserving the behavior in software refactoring: A systematic mapping study. Information and Software Technology, 140 (2021), no. 2, 459–502. https://doi.org/10.1016/j.infsof.2021.106675

Barry-Straume, J., Tschannen, A., Engels, D. W. & Fine, E. An evaluation of training size impacts validation accuracy for optimized convolutional neural networks. SMU Data Sci- ence Review, 1 (2018), no. 1, 12. https://scholar.smu.edu/datasciencereview/vol1/iss4/12.

Maciejauskaite˙, M. & Miliauskaite˙, J. (2024). The efficiency of machine learning algorithms in classifying non-functional requirements. New Trends in Computer Sciences, 2(1), 46–56. https://doi.org/10.3846/ntcs.2024.21574

Patel, V., Mehta, P. & Lavingia, K. Software Requirement Classification Using Ma- chine Learning Algorithms. Proceedings of the 2023, nternational Conference on Artifi- cial Intelligence and Applications (ICAIA) Alliance Technology Conference (ATCON-1). https://ieeexplore.ieee.org/document/10169588

Damasiotis, V., Fitsilis, P., Considine, P. & Kane, O. J. Analysis of software project complexity factors. Proceedings of the 2017 International Conference on Management Engineering, Software Engineering and Service Sciences, 2017, 54–58. https://dl.acm.org/doi/pdf/10.1145/3034950.3034989

Fitsilis, P. Measuring the complexity of software projects. 2009 WRI World Congress on Computer Science and Information Engineering, 7 (2009), 644–648. http://dx.doi.org/10.1109/CSIE.2009.936

Gupta, Varun and Fernandez-Crehuet, Jose Maria and Hanne, Thomas and Telesko, Rainer. Requirements engineering in software startups: A systematic mapping study. Ap- plied Sciences, 10 (2020), no. 17, 6125. http://dx.doi.org/10.3390/app10176125

Hey, T., Keim, J., Koziolek, A. & Tichy, W. F. Norbert: Transfer learning for requirements classification—2020 IEEE 28th International Requirements Engineering Conference (RE) 2020, 169–179. https://doi.org/10.1109/RE48521.2020.00028

Hossin, M. & Sulaiman, M. N. A review on evaluation metrics for data classification eval- uations.International journal of data mining & knowledge management process., 2015, https://DOI : 10.5121/ijdkp.2015.5201.

Ismail, F. H., Forestier, G., Weber, J., Idoumghar, L. & Muller, P. A. Deep learning for time series classification: a review. Data mining and knowledge discovery, 33 (2019), 917–963. https://doi.org/10.1007/s10618-019-00619-

Jiao, J. & Chen, C. H. Customer requirement management in product develop- ment: a review of research issues. Concurrent Engineering, 14 (2006), no. 3, 173–185. http://dx.doi.org/10.1177/1063293X06068357

Khattak, F. K., Jeblee, S., Pou-Prom, C., Abdalla, M., Meaney, C. & Rudzicz, F. A survey of word embeddings for clinical text. Journal of Biomedical Informatics, 100 (2019), 100057. https://doi.org/10.1016/j.yjbinx.2019.100057

Kowsari, K., Jafari, M. K., Heidarysafa, M., Mendu, S., Barnes, L. & Brown, D. Text classification algorithms: A survey. Information, 10 (2019), no. 4, 150. https://doi.org/10.3390/info10040150

Li, C., Huang, L., Ge, J., Luo, B. & Ng, V. Automatically classifying user requests in crowdsourcing requirements engineering. Journal of Systems and Software, 138 (2018), 108–123. https://doi.org/10.1016/j.jss.2017.12.028

Maxwell, A., Li, R., Yang, B., Weng, H., Ou, A., Hong, H., Zhou, Z., Gong, P. & Zhang, C. Deep learning architectures for multi-label classification of intelligent health risk prediction.

BMC bioinformatics, 18 (2017), 121–131. https://doi.org/10.1186/s12859-017-1898-z

Onyeka, E. A process framework for managing implicit requirements using analogy-based reasoning: Doctoral consortium paper. IEEE 7th International Conference on Research Challenges in Information Science (RCIS), 2013, 1–5. https://ieeexplore.ieee.org/document/6577726

Rahman, M. A., Haque, M. A., Tawhid, M. N. A. & Siddik, M. S. Classifying non-functional requirements using RNN variants for quality software development. Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, 2019, 25–30. https://doi.org/10.1145/3340482.3342745

Khurana, D., Koli, A., Khatter, K. et al. Natural language processing: state of the art, current trends and challenges. Multimed Tools Appl 82, 3713–3744 (2023). https://doi.org/10.1007/s11042-022-13428-4

Randell, A., Spellman, E., Ulrich, W. & Wallk, J. Leveraging business architec- ture to improve business requirements analysis. Business Architecture Guild, 2014. https://cdn.ymaws.com/www.businessarchitectureguild.org

Rasheed, A., Zafar, B., Shehryar, T., Aslam, N. A., Sajid, M., Ali, N., Dar, S. H & Khalid, S. Requirement engineering challenges in agile software development. Mathematical Problems in Engineering, 2021 (2021), 1–18. https://doi.org/10.1155/2021/6696695

Ren, Y., Zhao, P., Sheng, Y., Yao, D. & Xu, Z. Robust softmax regression for multi-class classification with self-paced learning. Proceedings of the 26th International Joint Confer- ence on Artificial Intelligence, 2017, 2641–2647. https://doi.org/10.24963/ijcai.2017/368

Rodriguez, S., Thangarajah, J. & Winikoff, M. User and System Stories: an agile approach for managing requirements in AOSE. Open Access Te Herenga Waka-Victoria University of Wellington, 2021. https://doi.org/10.26686/wgtn.14527758.v1

San Crist´obal, J. R., Carral, L., Diaz, E., Fraguela, J. A., Iglesias, G. & oth- ers. Complexity and project management: A general overview. Complexity, 2018. https://api.semanticscholar.org/CorpusID:53098515

Shabi, J., Reich, Y., Robinzon, R. & Mirer, T. A decision support model to manage overspecification in system development projects. Journal of Engineering Design, 32 (2021), no. 7, 323–345. https://doi.org/10.1080/09544828.2021.190897

Torfi, A., Shirvani, R. A., Keneshloo, Y., Tavaf, N. & Fox, E. A. Natural language processing advancements by deep learning: A survey., 2020, https://arXiv preprint arXiv:2003.01200.

Wallace, D. R. & Cherniavsky, J. C. Guide to software acceptance. DIANE Publishing, 1990. https://api.semanticscholar.org/CorpusID:56489605

Winkler, J. P., Gr¨onberg, J. & Vogelsang, A. Predicting How to Test Requirements: An Automated Approach. 2019 IEEE 27th International Requirements Engineering Conference (RE), 2019, 120–130. https://ieeexplore.ieee.org/document/8920404

Zhao, L., Alhoshan, W., Ferrari, A. & Letsholo, K. J. Classification of natural lan- guage processing techniques for requirements engineering., 2022, https://arXiv preprint arXiv:2204.04282.

Downloads

Published

12.06.2024

How to Cite

Justine Nakirijja. (2024). Enhancing Software Requirements Classification: Integrating Recurrent Neural Networks and Natural Language Processing for Managing Structural Complexity. International Journal of Intelligent Systems and Applications in Engineering, 12(4), 3110–3121. Retrieved from https://ijisae.org/index.php/IJISAE/article/view/6804

Issue

Section

Research Article