Automatically Classifying Functional and Non-Functional Requirements Using Supervised Machine Learning

被引:125
|
作者
Kurtanovic, Zijad [1 ]
Maalej, Walid [1 ]
机构
[1] Univ Hamburg, Hamburg, Germany
基金
欧盟地平线“2020”;
关键词
Requirements; Classification; Machine Learning; Imbalanced Data;
D O I
10.1109/RE.2017.82
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper, we take up the second RE17 data challenge: the identification of requirements types using the "Quality attributes (NFR)" dataset provided. We studied how accurately we can automatically classify requirements as functional (FR) and non-functional (NFR) in the dataset with supervised machine learning. Furthermore, we assessed how accurately we can identify various types of NFRs, in particular usability, security, operational, and performance requirements. We developed and evaluated a supervised machine learning approach employing meta-data, lexical, and syntactical features. We employed under- and over-sampling strategies to handle the imbalanced classes in the dataset and cross-validated the classifiers using precision, recall, and F1 metrics in a series of experiments based on the Support Vector Machine classifier algorithm. We achieve a precision and recall up to similar to 92% for automatically identifying FRs and NFRs. For the identification of specific NFRs, we achieve the highest precision and recall for security and performance NFRs with similar to 92% precision and similar to 90% recall. We discuss the most discriminating features of FRs and NFRs as well as the sampling strategies used with an additional dataset and their impact on the classification accuracy.
引用
收藏
页码:490 / 495
页数:6
相关论文
共 50 条
  • [1] Automatically Classifying Non-functional Requirements with Feature Extraction and Supervised Machine Learning Techniques: A Research Preview
    EzzatiKarami, Mahtab
    Madhavji, Nazim H.
    [J]. REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY (REFSQ 2021), 2021, 12685 : 71 - 78
  • [2] Automatically classifying non-functional requirements using deep neural network
    Li, Bing
    Nong, Xiuwen
    [J]. PATTERN RECOGNITION, 2022, 132
  • [3] Mining Non-Functional Requirements using Machine Learning Techniques
    Jindal, Rajni
    Malhotra, Ruchika
    Jain, Abha
    Bansal, Ankita
    [J]. E-INFORMATICA SOFTWARE ENGINEERING JOURNAL, 2021, 15 (01) : 85 - 114
  • [4] Scoping of Non-Functional Requirements for Machine Learning Systems
    Habibullah, Khan Mohammad
    Diaz, Juan Garcia
    Gay, Gregory
    Horkoff, Jennifer
    [J]. 32ND IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, RE 2024, 2024, : 496 - 497
  • [5] Non-Functional Requirements for Machine Learning: Challenges and New Directions
    Horkoff, Jennifer
    [J]. 2019 27TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE 2019), 2019, : 386 - 391
  • [6] Detecting, classifying, and tracing non-functional software requirements
    Anas Mahmoud
    Grant Williams
    [J]. Requirements Engineering, 2016, 21 : 357 - 381
  • [7] Detecting, classifying, and tracing non-functional software requirements
    Mahmoud, Anas
    Williams, Grant
    [J]. REQUIREMENTS ENGINEERING, 2016, 21 (03) : 357 - 381
  • [8] Are "Non-functional" Requirements really Non-functional?
    Eckhardt, Jonas
    Vogelsang, Andreas
    Fernandez, Daniel Mendez
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 832 - 842
  • [9] Analysis of conflicts among non-functional requirements using integrated analysis of functional and non-functional requirements
    Sadana, Vishal
    Liu, Xiaoqing Frank
    [J]. COMPSAC 2007: THE THIRTY-FIRST ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL I, PROCEEDINGS, 2007, : 215 - +
  • [10] Keynote - Requirements Engineering for Machine Learning: Non-functional Requirements as Core Functions
    Horkoff, Jennifer
    [J]. 2022 IEEE 30TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE WORKSHOPS (REW), 2022, : 141 - 141