This analysis compares machine learning methods for classifying functional and non-functional requirements, indicating active learning's potential to enhance efficiency.
Requirements Engineering (RE) is a critical phase in software development. Frequently, requirements are expressed in natural language and embedded in large documents. Classifying requirements is a time-consuming and error-prone activity. To address this issue, Machine Learning (ML) techniques can be leveraged to classify requirements. ML is a subfield of Artificial Intelligence that facilitates decision-making by developing automated models trained on data samples. This paper compares ML approaches to automatically classify requirements as functional (FR) and non-functional (NFR). Our study uses Supervised Machine Learning (SL) models alongside Active Learning (AL). SL models require large volumes of labeled data for effective training. However, in many cases, the datasets available for training are unlabeled, and the sheer size of these datasets makes manual labeling impractical. This poses a significant challenge for training supervised models. AL offers a solution to this challenge by strategically selecting specific xamples for user labeling, which are then used to train the model. By combining AL with SL, we aim to investigate whether Active Learning improves requirements classification. We propose a systematic approach to applying ML and AL to classify requirements datasets. By doing so, we aim to accelerate and automate the requirements classification process. Classifying requirements into distinct categories allows developers to concentrate more effectively on subsequent stages of the development process. We present a supporting process for our proposal.
No takes yet. Share an insight, caveat, or question.
Azevedo et al. (2025) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: