Abstract
Software requirement classification is crucial in segregating the user requirements into functional and quality requirements, based on their feedback or client demand. Doing so manually is time-consuming and not feasible. This can lead to delays in satisfying the requirements which in turn can lead to unhappier clients and users. Thus, machine learning techniques are used to optimize this task. In this work, five different word embedding techniques have been applied to the functional and non-functional (quality) software requirements. SMOTE is used to balance the numerical data obtained after word embedding. Dimensionality reduction and feature selection techniques are then employed to eliminate redundant and irrelevant features. Principal Component Analysis (PCA) is used for dimensionality reduction, and Rank-Sum test (RST) is used for feature selection. The resulting vectors are fed as inputs to eight different classifiers- Bagged k-Nearest Neighbors, Bagged Decision Tree, Bagged Naive-Bayes, Random Forest, Extra Tree, Adaptive Boost, Gradient Boosting, and a Majority Voting ensemble classifier, with Decision Tree, k-Nearest Neighbors, and Gaussian Naive Bayes. The experimental results suggest that the combination of word embedding and feature selection techniques with the various classifiers are successful in accurately classifying functional and quality software requirements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abad, Z.S.H., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., Schneider, K.: What works better? A study of classifying requirements. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. 496–501. IEEE (2017)
Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: Automated classification of non-functional requirements. Requir. Eng. 12(2), 103–120 (2007)
Kumar, L., Sripada, S.K., Sureka, A., Rath, S.K.: Effective fault prediction model developed using least square support vector machine (LSSVM). J. Syst. Softw. 137, 686–712 (2018)
Kumar, L., Sureka, A.: Application of LSSVM and smote on seven open source projects for predicting refactoring at class level. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 90–99. IEEE (2017)
Kumar, R., Singh, J., Kaur, A.: An empirical study of bad smell in code on maintenance effort. Int. J. Comput. Sci. Eng. 5(6), 294–304 (2016)
Rahimi, N., Eassa, F., Elrefaei, L.: An ensemble machine learning technique for functional requirement classification. Symmetry 12(10), 1601 (2020)
Rahimi, N., Eassa, F., Elrefaei, L.: One-and two-phase software requirement classification using ensemble deep learning. Entropy 23(10), 1264 (2021)
Tiun, S., Mokhtar, U., Bakar, S., Saad, S.: Classification of functional and non-functional requirement in software requirement using word2vec and fast text. In: Iournal of Physics: Conference Series, vol. 1529, p. 042077. IOP Publishing (2020)
Acknowledgements
This research is funded by TestAIng Solutions Pvt. Ltd.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Vijayvargiya, S., Kumar, L., Malapati, A., Murthy, L.B., Misra, S. (2022). Software Functional Requirements Classification Using Ensemble Learning. In: Gervasi, O., Murgante, B., Misra, S., Rocha, A.M.A.C., Garau, C. (eds) Computational Science and Its Applications – ICCSA 2022 Workshops. ICCSA 2022. Lecture Notes in Computer Science, vol 13381. Springer, Cham. https://doi.org/10.1007/978-3-031-10548-7_49
Download citation
DOI: https://doi.org/10.1007/978-3-031-10548-7_49
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-10547-0
Online ISBN: 978-3-031-10548-7
eBook Packages: Computer ScienceComputer Science (R0)