Abstract

AbstractSoftware 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.KeywordsFunctional requirementsNon-functional requirementsEnsemble learning

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call