Software Requirements Classification using Deep-learning Approach with Various Hidden Layers
Sanidhya Vijayvargiya, Lov Kumar, Lalita Bhanu Murthy, Sanjay Misra
Citation: Proceedings of the 17th Conference on Computer Science and Intelligence Systems, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 30, pages 895–904 (2022)
Abstract. Software requirement classification is becoming increasingly crucial for the industry to keep up with the demand of growing project sizes. Based on client feedback or demand, software requirement classification is critical in segregating user needs into functional and quality requirements. However, because there are numerous machine learning (ML) and deep-learning (DL) models that require parameter tuning, the use of ML to facilitate decision-making across the software engineering pipeline is not well understood. Five distinct word embedding techniques were applied to the functional and quality software requirements in this study. The imbalanced classes in the dataset are balanced using SMOTE. Then, to reduce duplicate and unnecessary features, feature selection and dimensionality reduction techniques are used. Dimensionality reduction is accomplished with Principal Component Analysis (PCA), while feature selection is accomplished with the Rank-Sum Test (RST). For binary categorization into functional and non-functional needs, the generated vectors are provided as inputs to eight distinct Deep Learning classifiers. The findings of the research show that using a combination of word embedding and feature selection techniques in conjunction with various classifiers can accurately classify functional and quality software requirements.
- M. V. Mäntylä, F. Calefato, and M. Claes, “Natural language or not (nlon): A package for software engineering text analysis pipeline,” in Proceedings of the 15th International Conference on Mining Software Repositories, ser. MSR ’18. New York, NY, USA: Association for Computing Machinery, 2018, p. 387–391. [Online]. Available: https://doi.org/10.1145/3196398.3196444
- J. Cleland-Huang, R. Settimi, X. Zou, and P. Solc, “Automated classification of non-functional requirements,” Requirements engineering, vol. 12, no. 2, pp. 103–120, 2007.
- M. H. Osman and M. F. Zaharin, “Ambiguous software requirement specification detection: An automated approach,” in 2018 IEEE/ACM 5th International Workshop on Requirements Engineering and Testing (RET), 2018, pp. 33–40.
- E. Knauss, D. Damian, G. Poo-Caamaño, and J. Cleland-Huang, “Detecting and classifying patterns of requirements clarifications,” in 2012 20th IEEE International Requirements Engineering Conference (RE), 2012, pp. 251–260.
- R. Navarro-Almanza, R. Juarez-Ramirez, and G. Licea, “Towards supporting software engineering using deep learning: A case of software requirements classification,” in 2017 5th International Conference in Software Engineering Research and Innovation (CONISOFT), 2017, pp. 116–120.
- A. Araujo and R. Marcacini, “Hierarchical cluster labeling of software requirements using contextual word embeddings,” in Brazilian Symposium on Software Engineering, 2021, pp. 297–302.
- D. Ott, “Automatic requirement categorization of large natural language specifications at mercedes-benz for review improvements,” in International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, 2013, pp. 50–64.
- C. Baker, L. Deng, S. Chakraborty, and J. Dehlinger, “Automatic multi-class non-functional software requirements classification using neural networks,” in 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), vol. 2, 2019, pp. 610–615.
- N. Rahimi, F. Eassa, and L. Elrefaei, “An ensemble machine learning technique for functional requirement classification,” symmetry, vol. 12, no. 10, p. 1601, 2020.
- N. V. Chawla, K. W. Bowyer, L. O. Hall, and W. P. Kegelmeyer, “Smote: synthetic minority over-sampling technique,” Journal of artificial intelligence research, vol. 16, pp. 321–357, 2002.
- S. Tiun, U. Mokhtar, S. Bakar, and S. Saad, “Classification of functional and non-functional requirement in software requirement using word2vec and fast text,” in journal of Physics: conference series, vol. 1529, no. 4. IOP Publishing, 2020, p. 042077.
- J. Hassine, R. Dssouli, and J. Rilling, “Applying reduction techniques to software functional requirement specifications,” in System Analysis and Modeling, D. Amyot and A. W. Williams, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, pp. 138–153.
- C. P. Guevara-Vega, E. D. Guzmán-Chamorro, V. A. Guevara-Vega, A. V. B. Andrade, and J. A. Quiña-Mera, “Functional requirement management automation and the impact on software projects: case study in ecuador,” in International Conference on Information Technology & Systems. Springer, 2019, pp. 317–324.