USING MACHINE LEARNING ALGORITHMS FOR CLASSIFYING NON-FUNCTIONAL REQUIREMENTS - RESEARCH AND EVALUATION

Loading...
Thumbnail Image
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Requirements classification, the process of assigning requirements to classes, is essential to requirements engineering, as it serves to define and organize the requirements for application systems, to determine the boundaries of the systems, to establish the relationships among the requirements, and to ensure the correct kinds of functionality are implemented in the systems. As most requirements are written in natural language, the manual classification of textual requirements can be time consuming and error prone. Aiming to reduce the burden on the human analyst, the machine-learning (ML) approach has been used since the early 2000s for automatic requirements classification.The ML approach faces three problems in non-functional requirements (NFRs) classification: imbalanced classes, short text, and the high dimensionality of feature space. Although these problems are widely addressed in various classification tasks, they are less frequently considered in requirements classification. In this thesis, we present two ML methods for automatically classifying NFRs. The main novelty of these methods lies in applying techniques that address the classification problems mentioned earlier. The first method integrates three techniques— dataset decomposition, semantic role-based feature selection, and feature extension— to address the three problems. The second method addresses short-text classification by adding the most similar requirements (i.e., the requirement extension technique). Both methods were evaluated on a publicly available NFRs dataset. The results of each method are compared with related methods, baseline methods, and state-of-theart solutions to the problems. The results demonstrate the usefulness of addressing problems with NFR classifications and the effectiveness of the proposed methods, suggesting that these solutions could improve different requirements classification tasks. To assess the generalization of the results of the proposed methods, we present a case study on the use of ML methods in sub-class NFRs classification. In particular, we reapply the proposed methods for classifying usability requirements according to usability aspects. This study includes the identification of the most common aspects of usability by systematically reviewing existing usability models. It also includes building usability requirements datasets. The results of applying ML methods in classifying usability requirements are similar to those provided by NFRs, confirming the usefulness of addressing problems with requirements classification.
Description
Keywords
Citation
Collections