Automatically classifying non-functional requirements using deep neural network

被引:7
|
作者
Li, Bing [1 ]
Nong, Xiuwen [2 ]
机构
[1] Guangdong Univ Sci & Technol, Coll Comp Sci, Dongguan, Peoples R China
[2] Guangxi Normal Univ, Sch Econ & Management, Guilin, Peoples R China
基金
中国国家自然科学基金;
关键词
Non-functional requirements; Non-functional requirements classification; BERT; N-gram; Bi-LSTM; Multi-sample dropout;
D O I
10.1016/j.patcog.2022.108948
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Non-functional requirements are property that software products must have in order to meet the user's business requirements, and are additional constraints on the quality and characteristics of software sys-tems. They are generally written by software designers and documented in various parts of requirements documentation. When developing systems, developers need to classify non-functional requirements from requirements documents, and classifying these non-functional requirements requires professional skills, experience, and domain knowledge, which is challenging and time-consuming for developers. It would be beneficial to implement automatic classification of non-functional requirements from requirements documents, which could reduce the manual, time, and mental fatigue involved in identifying specific non-functional requirements from a large number of requirements. In this paper, a deep neural network model called NFRNet is designed to automatically classify non-functional requirements from software requirement documents. The network consists of two parts. One is an improved BERT word embedding model based on N-gram masking for learning context representation of the requirement descriptions, and the other is a Bi-LSTM classification network for capture context information of the requirement descrip-tions. We use a Softmax classifier in the end to classify the requirement descriptions. At the same time, in order to accelerate the training and improve the generalization ability of the model, the network uses multi-sample dropout regularization technology. This new regularization technology can reduce the num-ber of iterations needed for training, accelerate the training of deep neural networks, and the networks trained achieved lower error rates. In addition, we expanded the original non-functional requirements dataset (PROMISE dataset) and designed a new dataset called SOFTWARE NFR. The new dataset far ex-ceeds the original dataset in terms of the number of requirement description sentences and the number of non-functional requirements categories. It can be taken as a new testbed for non-functional require-ments classification. Through cross-validation on the new dataset, the experimental results show that the network designed in this paper is significantly better than the other 17 classification methods in terms of Precision, Recall, and F1-score. At the same time, for the training set and the validation set, using the multi-sample dropout regularization technology can accelerate the training speed, reduce the number of iterations, and achieve lower error rates and loss.(c) 2022 Elsevier Ltd. All rights reserved.
引用
收藏
页数:16
相关论文
共 50 条
  • [1] Automatically Classifying Functional and Non-Functional Requirements Using Supervised Machine Learning
    Kurtanovic, Zijad
    Maalej, Walid
    2017 IEEE 25TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE), 2017, : 490 - 495
  • [2] NFRNet: A Deep Neural Network for Automatic Classification of Non-Functional Requirements
    Li, Bing
    Li, Zhi
    Yang, Yilong
    29TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE 2021), 2021, : 434 - 435
  • [3] Detecting, classifying, and tracing non-functional software requirements
    Anas Mahmoud
    Grant Williams
    Requirements Engineering, 2016, 21 : 357 - 381
  • [4] Automatically Classifying Non-functional Requirements with Feature Extraction and Supervised Machine Learning Techniques: A Research Preview
    EzzatiKarami, Mahtab
    Madhavji, Nazim H.
    REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY (REFSQ 2021), 2021, 12685 : 71 - 78
  • [5] Detecting, classifying, and tracing non-functional software requirements
    Mahmoud, Anas
    Williams, Grant
    REQUIREMENTS ENGINEERING, 2016, 21 (03) : 357 - 381
  • [6] Classifying Non-functional Requirements using RNN Variants for Quality Software Development
    Rahman, Md Abdur
    Haque, Md Ariful
    Tawhid, Md Nurul Ahad
    Siddik, Md Saeed
    PROCEEDINGS OF THE 3RD ACM SIGSOFT INTERNATIONAL WORKSHOP ON MACHINE LEARNING TECHNIQUES FOR SOFTWARE QUALITY EVALUATION (MALTESQUE '19), 2019, : 25 - 30
  • [7] Classification of Non-functional Requirements Using Convolutional Neural Networks
    S. E. Martínez García
    C. Alberto Fernández-y-Fernández
    E. G. Ramos Pérez
    Programming and Computer Software, 2023, 49 : 705 - 711
  • [8] Classification of Non-functional Requirements Using Convolutional Neural Networks
    Garcia, S. E. Martinez
    Fernandez-y-Fernandez, C. Alberto
    Perez, E. G. Ramos
    PROGRAMMING AND COMPUTER SOFTWARE, 2023, 49 (08) : 705 - 711
  • [9] Non-functional Requirements Classification using Artificial Neural Networks
    Lopez-Hernandez, Delmer Alejandro
    Mezura-Montest, Efren
    Ocharan-Hernandez, Jorge Octavio
    Sanchez-Garcia, Angel J.
    PROCEEDINGS OF THE 2021 XXIII IEEE INTERNATIONAL AUTUMN MEETING ON POWER, ELECTRONICS AND COMPUTING (ROPEC 2021), 2021,
  • [10] Are "Non-functional" Requirements really Non-functional?
    Eckhardt, Jonas
    Vogelsang, Andreas
    Fernandez, Daniel Mendez
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 832 - 842