Requirement Classification using Deep Learning and Nature-Inspired Optimization Technique
Abstract
Recent advancements in requirements engineering (RE) methods have increasingly leveraged machine learning (ML) algorithms to address challenging RE issues such as the identification and classification of software requirements in requirement documents. Classifying software requirements accurately and efficiently is crucial for the success of the project. Functional and nonfunctional requirements define the core attributes and constraints of a system. When requirements are documented in natural language, they often introduce uncertainties such as ambiguity, inconsistency, or poor readability making the process challenging. Further, manual extraction of requirements is tideous and error prone as it requires precise interpretation, thereby mitigating the risks of miscommunication and errors in the development process.To address these challenges, it is vital to employ Natural Language Processing (NLP)techniques to enhance the clarity of requirements. This paper proposes a method that combines deep learning models with NLP techniques, supplemented by Flower Pollination Optimizer (FPO) algorithm, to automate the classification of requirements. The methodology leverages NLP to extract significant features for training a Convolutional Neural Network (CNN) model. CNN model is enhanced using the FPO algorithm to ensure better convergence. The performance of the proposed CNN-FPO framework is evaluated using an industry SmartNet dataset, with results indicating that the accuracy of the classification can reach up to 98% as compared to other traditional machine learning(ML) approaches.The integration of NLP with an optimized CNN model creates a robust framework for requirement classification, addressing the challenges posed by natural language documentation in requirements engineering.
Full Text:
PDFReferences
Van Lamsweerde (2009). Requirements engineering: From system goals to UML models to software, Chichester, UK: John Wiley , Sons. vol. 10.
Fantechi A, Gnesi S, Semini L. (2023). VIBE: looking for variability in ambiguous requirements. Journal of Systems and Software, 1;195:111540. https://doi.org/10.1016/j.jss.2022.111540.
Dabbagh, M., & Lee, S. P. (2014). An approach for integrating the prioritization of functional and nonfunctional requirements. The Scientific World Journal. https://doi.org/10.1155/2014/737626
Dabbagh, M., Lee, S. P., & Parizi, R. M.(2016). Functional and non-functional requirements prioritization: empirical evaluation of IPA, AHP-based, and HAM-based approaches. Soft Computing, 20, 4497-4520. https://doi.org/10.1007/s00500-015-1760-z
Gruber, K., Huemer, J., Zimmermann, A., & Maschotta, R. (2017). Integrated description of functional and non-functional requirements for automotive systems design using SysML. In: 7th IEEE International Conference on System Engineering and Technology (ICSET), Shah Alam, Malaysia, pp. 27-31.
Frattini, J., Montgomery, L., Fischbach, J., Mendez, D., Fucci, D., & Unterkalmsteiner, M. (2023). Requirements quality research: a harmonized theory, evaluation, and roadmap. Requirements Engineering, 28(4), 507-520.
https://doi.org/10.48550/arXiv.2309.10355.
Supakkul S, Chung L. (2005). Integrating FRs and NFRs: A use case and goal driven approach. framework.;6:7. https://www.researchgate.net/publication/2869405_Integrating_FRs_and_NFRs_A_Use_Case_and_Goal_Driven_Approach.
Werner C, Li ZS, Lowlind D, Elazhary O, Ernst N, Damian D. (2021). Continuously managing nfrs: Opportunities and challenges in practice. IEEE Transactions on Software Engineering. 17;48(7):2629-42. DOI: 10.1109/TSE.2021.3066330.
Mahmoud A, Williams G. (2016). Detecting, classifying, and tracing non-functional software requirements. Requirements Engineering. 21:357-81. https://doi.org/10.1007/s00766-016-0252-8.
Rahimi, N., Eassa, F., & Elrefaei, L. (2020). An ensemble machine learning technique for functional requirement classification. Symmetry, 12(10), 1601. https://doi.org/10.3390/sym12101601.
Shreda, Q. A., & Hanani, A. A.(2021). Identifying non-functional requirements from unconstrained documents using natural language processing and machine learning approaches. IEEE Access. https://doi.org/10.1109/ACCESS.2021.3052921
Yang H, De Roeck A, Gervasi V, Willis A, Nuseibeh B.(2011). Analysing anaphoric ambiguity in natural language requirements. Requirements engineering. 16:163-89. DOI:10.1007/s00766-011-0119-y.
Diamantopoulos T, Roth M, Symeonidis A, Klein E. (2017). Software requirements as an application domain for natural language processing. Language Resources and Evaluation. 51:495-524. DOI:10.1007/s10579-017-9381-z.
Dunnmon JA, Yi D, Langlotz CP, Ré C, Rubin DL, Lungren MP. (2019). Assessment of convolutional neural networks for automated classification of chest radiographs. Radiology. 290(2):537-44. https://doi.org/10.1148/radiol.2018181422.
Watson C, Cooper N, Palacio DN, Moran K, Poshyvanyk D. (2022). A systematic literature review on the use of deep learning in software engineering research. ACM Transactions on Software Engineering and Methodology (TOSEM). 4;31(2):1-58. https://doi.org/10.1145/3485275
Sagar VB, Abirami S. (2014). Conceptual modeling of natural language functional requirements. Journal of Systems and Software. 1;88:25-41. https://doi.org/10.1016/j.jss.2013.08.036
McGraw, K. L., & Harbison, K. (2020). User-centered requirements: The scenario-based engineering process. CRC Press.
Jeffrey HJ, Putman AO. (1994). Relationship definition and management: tools for requirements analysis. Journal of Systems and Software. 1;24(3):277-94. https://doi.org/10.1016/0164-1212(94)90069-8.
Surma-aho, A., Björklund, T., & Hölttä-Otto, K. (2022). User and stakeholder perspective taking in novice design teams. Design Science, 8, e24. https://doi.org/10.1017/dsj.2022.19
Fernández, D. M., Wagner, S., Kalinowski, M., Felderer, M., Mafra, P., Vetrò, A., ... & Wieringa, R. (2017). Naming the pain in requirements engineering: Contemporary problems, causes, and effects in practice. Empirical Software Engineering, 22, 2298-2338. https://doi.org/10.1007/s10664-016-9451-7
Blake R, Mangiameli P. (2011). The effects and interactions of data quality and problem complexity on classification. Journal of Data and Information Quality (JDIQ). 1;2(2):1-28. https://doi.org/10.1145/1891879.1891881
Nguyen TH, Grundy J, Almorsy M. (2015). Rule-based extraction of goal-use case models from text. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (pp. 591-601). https://doi.org/10.1145/2786805.2786876
Vlas R, Robinson WN. (2011). A rule-based natural language technique for requirements discovery and classification in open-source software development projects. In 2011 44th Hawaii International Conference on System Sciences (pp. 1-10). IEEE. DOI:10.1109/HICSS.2011.28
Singh, P., Singh, D., & Sharma, A. (2016). Rule-based system for automated classification of non-functional requirements from requirement specifications. In: 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 620-626. https://doi.org/10.1109/ICACCI.2016.7732115
Sharma, V. S., Ramnani, R. R., & Sengupta, S. (2014). A framework for identifying and analyzing non-functional requirements from text. In: Proceedings of the 4th International Workshop on Twin Peaks of Requirements and Architecture, pp. 1-8. https://doi.org/10.1145/2593861.2593862
Hussain, I., Kosseim, L., & Ormandjieva, O. (2008). Using linguistic knowledge to classify non-functional requirements in SRS documents. In: Natural Language and Information Systems: 13th International Conference on Applications of Natural Language to Information Systems, NLDB 2008 London, UK, June 24-27, Springer Berlin Heidelberg, pp. 287-298. https://doi.org/10.1007/978-3-540-69858-6_28
Cleland-Huang, J., Settimi, R., Zou, X., & Solc, P. (2007). Automated classification of non-functional requirements. Requirements Engineering, 12, 103-120. https://doi.org/10.1145/3084226.3084241.
Samantaray SR. (2013). A systematic fuzzy rule based approach for fault classification in transmission lines. Applied soft computing, Feb 1;13(2):928-38. https://doi.org/10.1016/j.asoc.2012.09.010
Das S, Deb N, Cortesi A, Chaki N. (2024). Extracting goal models from natural language requirement specifications. Journal of Systems and Software. 211:111981. https://doi.org/10.1016/j.jss.2024.111981
Casamayor A, Godoy D, Campo M. (2010). Identification of non-functional requirements in textual specifications: A semi-supervised learning approach. Information and Software Technology. 52(4):436-45. https://doi.org/10.1016/j.infsof.2009.10.010
Pitangueira AM, Maciel RS, Barros M. (2015). Software requirements selection and prioritization using SBSE approaches: A systematic review and mapping of the literature. Journal of Systems and Software. 1;103:267-80. https://doi.org/10.1016/j.jss.2014.09.038
Abad ZS, Karras O, Ghazi P, Glinz M, Ruhe G, Schneider K. (2017). What works better? a study of classifying requirements. In 2017 IEEE 25th International Requirements Engineering Conference (RE) (pp. 496-501). IEEE. DOI: 10.1109/RE.2017.36
Li, L. F., Jin-An, N. C., Kasirun, Z. M., & Chua, Y. P. (2019). An empirical comparison of machine learning algorithms for classification of software requirements. International Journal of Advanced Computer Science and Applications, 10(11), 258-263. https://doi.org/10.14569/IJACSA.2019.0101135
Handa, N., Sharma, A., & Gupta, A. (2022) Framework for prediction and classification of non-functional requirements: A novel vision. Cluster Computing, 25(2), 1155-1173. https://doi.org/10.1007/s10586-021-03484-0
Khan A, Baharudin B, Lee LH, Khan K. (2010). A review of machine learning algorithms for text-documents classification. Journal of advances in information technology. 1(1):4-20. DOI:10.4304/jait.1.1.4-20
Quba, G. Y., Al Qaisi, H., Althunibat, A., & AlZu’bi, S. (2021). Software requirements classification using machine learning algorithms. In: 2021 International Conference on Information Technology (ICIT), Amman, Jordan, pp. 685-690. DOI:10.1109/ICIT52682.2021.9491688
Jindal R, Malhotra R, Jain A. (2016). Automated classification of security requirements. In 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI) (pp. 2027-2033). IEEE. DOI: 10.1109/ICACCI.2016.7732349
Dave, Dev Jayant. (2022). Identifying Functional and Non-functional Software Requirements from User App Reviews and Requirements Artifacts. Thesis, Montclair State University. https://digitalcommons.montclair.edu/cgi/viewcontent.cgi?article=2014&context=etd.
Raymond, R., & Savarimuthu, M. A. (2023). Retrieval of Interactive requirements for Data Intensive Applications using Random Forest Classifier. Informatica, 47(9).
Binkhonain, M., & Zhao, L. (2019). A review of machine learning algorithms for identification and classification of non-functional requirements. Expert Systems with Applications, 150, 1139-1152. https://doi.org/10.1016/j.eswa.2020.113990
Kurtanović, Z., & Maalej, W. (2017). Automatically classifying functional and non-functional requirements using supervised machine learning. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. 490-495. https://doi.org/10.1109/RE.2017.82
Slankas, J., & Williams, L. (2013) Automated extraction of non-functional requirements in available documentation. In: 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE), San Francisco, CA, USA, pp. 9-16.
AlOmar EA, Mkaouer MW, Ouni A. (2021). Toward the automatic classification of self-affirmed refactoring. Journal of Systems and Software. 171:110821. https://doi.org/10.1016/j.jss.2020.110821
Zhao, L., Alhoshan, W., Ferrari, A., Letsholo, K. J., Ajagbe, M. A., Chioasca, E. V., & Batista-Navarro, R. T. (2021). Natural language processing for requirements engineering: A systematic mapping study. ACM Computing Surveys (CSUR), 54(3), 1-41. https://doi.org/10.1145/3444689
Amasaki, S., & Leelaprute, P. (2018). The effects of vectorization methods on non-functional requirements classification. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 175-182. https://doi.org/10.1109/SEAA.2018.00036
Tiun, S., Mokhtar, U. A., Bakar, S. H., & Saad, S. (2020). Classification of functional and non-functional requirement in software requirement using Word2Vec and FastText. Journal of Physics: Conference Series, 1529(4), 042077. https://doi.org/10.1088/1742-6596/1529/4/042077
Sabir, M., Chrysoulas, C., & Banissi, E. (2020). Multi-label classifier to deal with misclassification in non-functional requirements. In: Trends and Innovations in Information Systems and Technologies, Springer International Publishing, Volume 1, pp. 486-493. https://doi.org/10.1007/978-3-030-45688-7_49
Song, D., Vold, A., Madan, K., & Schilder, F. (2022). Multi-label legal document classification: A deep learning-based approach with label-attention and domain-specific pre-training. Information Systems, 106, 101718. https://doi.org/10.1016/j.is.2021.101718
Jiang, J. Y., Tsai, S. C., & Lee, S. J. (2012). FSKNN: multi-label text categorization based on fuzzy similarity and k nearest neighbors. Expert Systems with Applications, 39(3), 2813-2821. https://doi.org/10.1016/j.eswa.2011.08.141
Ramadhani, D. A., Rochimah, S., & Yuhana, U. L. (2015). Classification of non-functional requirements using semantic-FSKNN based ISO/IEC 9126. TELKOMNIKA (Telecommunication Computing Electronics and Control), 13(4), 1456-1465. https://doi.org/10.12928/telkomnika.v13i4.2300
AlDhafer, O., Ahmad, I., & Mahmood, S. (2022). An end-to-end deep learning system for requirements classification using recurrent neural networks. Information and Software Technology, 147, 106877. https://doi.org/10.1016/j.infsof.2022.106877
Winkler, J., & Vogelsang, A. (2016). Automatic classification of requirements based on convolutional neural networks. In: 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pp. 39-45. DOI: 10.1109/REW.2016.021
Baker, C., Deng, L., Chakraborty, S., & Dehlinger, J. (2019). 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. https://doi.org/10.1109/ICIT52682.2021.9491688
Gnanasekaran, R. K., Chakraborty, S., Dehlinger, J., & Deng, L. (2021). Using recurrent neural networks for classification of natural language-based non-functional requirements. In: REFSQ Workshops, Essen, Germany.
Li, G., Zheng, C., Li, M., & Wang, H. (2022). Automatic requirements classification based on graph attention network. IEEE Access, 10, 30080-30090.
https://doi.org/10.1109/ACCESS.2022.3159238
Alhaizaey, A., & Al-Mashari, M. (2023). A framework for reviewing and improving non-functional requirements in agile-based requirements. In: 2023 18th Iberian Conference on Information Systems and Technologies (CISTI), Aveiro, Portugal, pp. 1-7. https://doi.org/10.23919/CISTI58278.2023.10211956.
Shin J, Kim Y, Yoon S, Jung K. (2018). Contextual-CNN A novel architecture capturing unified meaning for sentence classification. In 2018 IEEE international conference on big data and smart computing (BigComp), IEEE, (pp. 491-494). DOI: 10.1109/BigComp.2018.00079.
Li Q, Peng H, Li J, Xia C, Yang R, Sun L, Yu PS, He L. (2020). A survey on text classification: From shallow to deep learning. arXiv preprint arXiv:2008.00364.
Chen, Y., Xu, Y., Ren, X., & Wang, Z. (2020). Hierarchical text classification using convolutional neural networks. In: Proceedings of the 2020 International Conference on Artificial Intelligence and Industrial Engineering (AII 2020), pp. 124-129. DOI:10.1109/ICETA48886.2019.9040022.
Mullis J, Chen C, Morkos B, Ferguson S. (2024). Deep Neural Networks in Natural Language Processing for Classifying Requirements by Origin and Functionality: An Application of BERT in System Requirements. Journal of Mechanical Design. 146(4):041401. https://doi.org/10.1145/3444689.
Hey T, Keim J, Koziolek A, Tichy WF. (2020). Norbert: Transfer learning for requirements classification. In 2020 IEEE 28th international requirements engineering conference (RE). (pp. 169-179). IEEE. DOI: 10.1109/RE48521.2020.00028.
Khan, M. A., Khan, M. S., Khan, I., Ahmad, S., & Huda, S. (2023). Non Functional Requirements Identification and Classification Using Transfer Learning Model. IEEE Access. https://doi.org/10.1109/ACCESS.2023.3295238.
Cleland-Huang, J., Settimi, R., Zou, X., & Solc, P. (2006). The detection and classification of non-functional requirements with application to early aspects. In: 14th IEEE International Requirements Engineering Conference (RE'06), pp. 39-48. https://doi.org/10.1109/RE.2006.65.
Rahman, K., Ghani, A., Ahmad, R., & Sajjad, S. H. (2023). Hybrid deep learning approach for nonfunctional software requirements classifications. In: 2023 International Conference on Communication, Computing and Digital Systems (C-CODE), Islamabad, Pakistan, pp. 1-5.
Saleem, S., Asim, M. N., Van Elst, L., & Dengel, A.(2016). FNReq-Net: A hybrid computational framework for functional and non-functional requirements classification. Journal of King Saud University-Computer and Information Sciences, 35(8), 101665.
Ferrari, Alessio, Giorgio Oronzo Spagnolo, and Stefania Gnesi. (2017). Pure: A dataset of public requirements documents. In 2017 IEEE 25th international requirements engineering conference (RE), pp. 502-505. DOI: 10.1109/RE.2017.29.
Karim, S., Warnars, H.L.H.S., Gaol, F.L. Abdurachman, E. and Soewito, B. (2017). Software metrics for fault prediction using machine learning approaches: A literature review with PROMISE repository dataset. In 2017 IEEE international conference on cybernetics and computational intelligence (CyberneticsCom) (pp. 19-23). IEEE. DOI: 10.1109/CYBERNETICSCOM.2017.8311708
Mullen, L. A., Benoit, K., Keyes, O., Selivanov, D., & Arnold, J. (2018). Fast, consistent tokenization of natural language text. Journal of Open Source Software, 3(23), 655. https://doi.org/10.21105/joss.00655.
Yogish D, Manjunath TN, Hegadi RS. (2019). Review on natural language processing trends and techniques using NLTK. In Recent Trends in Image Processing and Pattern Recognition: Second International Conference, RTIP2R 2018, Solapur, India, December 21–22, Revised Selected Papers, Part III (pp. 589-606). Springer Singapore. DOI:10.1007/978-981-13-9187-3_53.
Mladenic D. (2002). Automatic word lemmatization. In Proceedings of the 5th international multi-conference information society, IS-2002 B 2002 (pp. 153-159).
Senthil Kumar, N. K., & Malarvizhi, N. (2020). Bi-directional LSTM–CNN combined method for sentiment analysis in part of speech tagging (PoS). International Journal of Speech Technology, 23(2), 373-380. https://doi.org/10.1007/s10772-020-09716-9
Goodman, E. L., Zimmerman, C., & Hudson, C. (2020). Packet2vec: Utilizing word2vec for feature extraction in packet data. Machine Learning. https://doi.org/10.48550/arXiv.2004.14477.
Zhang Y, Jin R, Zhou ZH. (2010). Understanding bag-of-words model: a statistical framework. International journal of machine learning and cybernetics.1:43-52. DOI:10.1007/s13042-010-0001-0.
Choudhary, K., & Beniwal, R. (2021). Xplore Word Embedding Using CBOW Model and Skip-Gram Model. In: 2021 7th International Conference on Signal Processing and Communication (ICSC), pp. 267-270. DOI: 10.1109/ICSC53193.2021.9673321.
Bahassine, S., Madani, A., Al-Sarem, M., & Kissi, M. (2020). Feature selection using an improved Chi-square for Arabic text classification. Journal of King Saud University-Computer and Information Sciences, 32(2), 225-231. https://doi.org/10.1016/j.jksuci.2018.05.010.
Cervantes J, Garcia-Lamont F, Rodríguez-Mazahua L, Lopez A. (2020). A comprehensive survey on support vector machine classification: Applications, challenges and trends. Neurocomputing. 30;408:189-215. https://doi.org/10.1016/j.neucom.2019.10.118.
Guo, G., Wang, H., Bell, D., Bi, Y., & Greer, K. (2003). KNN model-based approach in classification. In: On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE: OTM Confederated International Conferences, CoopIS, DOA, and ODBASE 2003, Catania, Sicily, Italy, Springer Berlin Heidelberg, pp. 986-996. https://doi.org/10.1007/978-3-540-39964-3_62.
Habib G, Qureshi S. (2022). Optimization and acceleration of convolutional neural networks: A survey. Journal of King Saud University-Computer and Information Sciences. 1;34(7):4244-68. https://doi.org/10.1016/j.jksuci.2020.10.004
Abdel-Basset, M., & Shawky, L. A. (2019). Flower pollination algorithm: a comprehensive review. Artificial Intelligence Review, 52, 2533-2557. https://doi.org/10.1007/s10462-018-9624-4.
Esa, M. F. M., Mustaffa, N. H., Radzi, N. H. M., & Sallehuddin, R. (2022). Flower Pollination Algorithm for Convolutional Neural Network Training in Vibration Classification. In: Computational Intelligence in Machine Learning: Select Proceedings of ICCIML, pp. 339-346. https://doi.org/10.1007/978-981-16-8484-5_32.
DOI: https://doi.org/10.31449/inf.v49i6.7073
This work is licensed under a Creative Commons Attribution 3.0 License.