ABSTRACT
Non-Functional Requirements (NFR), a set of quality attributes, required for software architectural design. Which are usually scattered in SRS and must be extracted for quality software development to meet user expectations. Researchers show that functional and non-functional requirements are mixed together within the same SRS, which requires a mammoth effort for distinguishing them. Automatic NFR classification would be a feasible way to characterize those requirements, where several techniques have been recommended e.g. IR, linguistic knowledge, etc. However, conventional supervised machine learning methods suffered for word representation problem and usually required hand-crafted features, which will be overcome by proposed research using RNN variants to categories NFR. The NFR are interrelated and one task happens after another, which is the ideal situation for RNN. In this approach, requirements are processed to eliminate unnecessary contents, which are used to extract features using word2vec to fed as input of RNN variants LSTM and GRU. Performance has been evaluated using PROMISE dataset considering several statistical analyses. Among those models, precision, recall, and f1-score of LSTM validation are 0.973, 0.967 and 0.966 respectively, which is higher over CNN and GRU models. LSTM also correctly classified minimum 60% and maximum 80% unseen requirements. In addition, classification accuracy of LSTM is 6.1% better than GRU, which concluded that RNN variants can lead to better classification results, and LSTM is more suitable for NFR classification from textual requirements.
- Jonas Winkler and Andreas Vogelsang. Automatic classification of requirements based on convolutional neural networks. In 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pages 39–45. IEEE, 2016.Google Scholar
- J Cleland-Huang, R Settimi, X Zou, and P Solc. The detection and classification of non-functional requirements with application to early aspects. In 14th Int. Requirements Engineering Conference (RE’06), pages 39–48. IEEE, 2006. Google ScholarDigital Library
- Mirza Rehenuma Tabassum, Md Saeed Siddik, Mohammad Shoyaib, and Shah Mostafa Khaled. Determining interdependency among non-functional requirements to reduce conflict. In 2014 International Conference on Informatics, Electronics & Vision (ICIEV), pages 1–6. IEEE, 2014.Google Scholar
- I Hussain, L Kosseim, and O Ormandjieva. Using linguistic knowledge to classify non-functional requirements in srs documents. In Int. Conf. on Application of Natural Language to Information Systems, pages 287–298. Springer, 2008. Google ScholarDigital Library
- Md. Ariful Haque, Md. Abdur Rahman, and Md Saeed Siddik. Non functional requirements classification with machine learning: An empirical study. In International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT), pages 629–633. IEEE, 2019.Google Scholar
- Y Matsumoto, S Shirai, and A Ohnishi. A method for verifying non-functional requirements. Procedia Computer Science, 112:157–166, 2017. Google ScholarDigital Library
- Mengmeng Lu and Peng Liang. Automatic classification of non-functional requirements from augmented app user reviews. In 21st International Conference on Evaluation and Assessment in Software Engineering, pages 344–353. ACM, 2017. Google ScholarDigital Library
- Jenq-Haur Wang, Ting-Wei Liu, Xiong Luo, and Long Wang. An lstm approach to short text sentiment classification with word embeddings. In Proceedings of the 30th Conference on Computational Linguistics and Speech Processing (ROCLING 2018), pages 214–223, 2018.Google Scholar
- N Almanza R, Reyes Ju, and Guillermo Licea. Towards supporting software engineering using deep learning: A case of software requirements classification. In 5th International Conference in Software Engineering Research and Innovation (CONISOFT), pages 116–120. IEEE, 2017.Google Scholar
- P Zhou, Zhenyu Qi, S Zheng, Jiaming Xu, H Bao, and Bo Xu. Text classification improved by integrating bidirectional lstm with two-dimensional max pooling. In 26th Int. Conference on Computational Linguistics, pages 3485–3495, 2016.Google Scholar
- Jakub Nowak, Ahmet Taspinar, and Rafał Scherer. Lstm recurrent neural networks for short text and sentiment classification. In International Conference on Artificial Intelligence and Soft Computing, pages 553–562. Springer, 2017.Google Scholar
- Openscience tera-promise software requirement (last accessed: July 01, 2019).Google Scholar
- Zijad Kurtanović and Walid Maalej. Automatically classifying functional and nonfunctional requirements using supervised machine learning. In 25th International Requirements Engineering Conference (RE), pages 490–495. IEEE, 2017.Google Scholar
- Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. International Conference on Learning Representations, 12 2014.Google Scholar
Index Terms
- Classifying non-functional requirements using RNN variants for quality software development
Recommendations
Modeling and verification of Functional and Non-Functional Requirements of ambient Self-Adaptive Systems
We propose a model-based approach for the modeling and verification of requirements.We integrate the notion of goal-oriented concepts for the requirements definition of self-adaptive systems.We identify the adaptability features associated with the ...
Automatically classifying non-functional requirements using deep neural network
Highlights- The improved word embedding model helps to facilitate adequate-ly representation learning in pre-training.
AbstractNon-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 systems. They are generally ...
Handling Non-functional Requirements in Information System Architecture Design
ICSEA '09: Proceedings of the 2009 Fourth International Conference on Software Engineering AdvancesInformation system architecture design is a complex task depending on both functional and non-functional requirements. Since system architecture definition is strongly related to system performance, non-functional requirements play a significant role ...
Comments