A Systematic Comparison of Software Requirements Classification

Fajar Baskoro, Rasi Aziizah Andrahsmara, Brian Rizqi Paradisiaca Darnoto, Yoga Ari Tofan


Software requirements specification (SRS) is an essential part of software development. SRS has two features: functional requirements (FR) and non-functional requirements (NFR). Functional requirements define the needs that are directly in contact with stakeholders. Non-functional requirements describe how the software provides the means to carry out functional requirements. Non-functional requirements are often mixed with functional requirements. This study compares four primarily used machine learning methods for classifying functional and non-functional requirements. The contribution of our research is to use the PROMISE and SecReq (ePurse) dataset, then classify them by comparing the FastText+SVM, FastText+CNN, SVM, and CNN classification methods. CNN outperformed other methods on both datasets. The accuracy obtained by CNN on the PROMISE dataset is 99% and on the Seqreq dataset is 94%.


CNN; FaxtText; Requirements Classification; Software Requirements; SVM

Full Text:

Full Text


Haque MA, Rahman MA, Siddik MS. Non-Functional Requirements Classification with Feature Extraction and Machine Learning: An Empirical Study. In: 1st International Conference on Advances in Science, Engineering and Robotics Technology 2019 (ICASERT 2019) IEEE; 2019. p. 1–5.

Hakim L, Rochimah S, Fatichah C. Evaluasi kombinasi hipernin dan sinonim untuk klasifikasi kebutuhan non-functional berbasis ISO/IEC 25010. Jurnal Teknologi Informasi dan Ilmu Komputer 2019 10;6:491–500.

Gu Y, Zhang S, Qiu L, Wang Z, Zhang L. A layered KNN-SVM approach to predict missing values of functional requirements in product customization. Applied Sciences 2021 3;11:2420.

Osman MH, Zaharin MF. Ambiguous Software Requirement Specification Detection: An Automated Approach. In: Proceedings - International Conference on Software Engineering IEEE Computer Society; 2018. p. 33–40.

Vanicek J. Software quality requirements. Agric Econ 2008;52:177–185.

Supriyono S. Penerapan ISO 9126 dalam pengujian kualitas perangkat lunak pada E-book. MATICS 2019 10;11:9.

Shreda QA, Hanani AA. Identifying non-functional requirements from unconstrained documents using natural language processing and machine learning approaches. IEEE Access 2021;4:1–22.

Solomin AA, Ivanova Bolotova YA. Modern approaches to multiclass intent classification based on pre-trained transformers. Scientific and Technical Journal of Information Technologies, Mechanics and Optics 2020;4(1):532–538.

Li LF, Jin-An NC, Kasirun ZM, Piaw CY. An empirical comparison of machine learning algorithms for classification of software requirements. International Journal of Advanced Computer Science and Applications 2019;10(11):258–263.

Tóth L, Vidács L. Study of the performance of various classifiers in labeling non-functional requirements. Information Technology and Control 2019;48(3):432–445.

Abdel Qader A. A novel intelligent model for classifying and evaluating non-functional security requirements form scenarios. Indonesian Journal of Electrical Engineering and Computer Science 2019 sep;15(3):1578–1585.

Rago A, Marcos C, Diaz-Pace JA. Using semantic roles to improve text classification in the requirements domain. Language Resources and Evaluation 2018 sep;52(3):801–837.

Rahman MA, Haque MA, Tawhid MNA, Siddik MS. Classifying Non-Functional Requirements Using RNN Variants for Quality Software Development. In: MaLTeSQuE 2019 - Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, co-located with ESEC/FSE 2019 Association for Computing Machinery, Inc; 2019. p. 25–30.

Fahmi AA, Siahaan D. Algorithms comparison for non-requirements classification using the semantic feature of software requirement statements. IPTEK The Journal for Technology and Science 2021 1;31:343.

Tiun S, Mokhtar UA, Bakar SH, Saad S. Classification of Functional and Non-Functional Requirement in Software Requirement Using Word2vec and Fast Text. In: Journal of Physics: Conference Series, vol. 1529 Institute of Physics Publishing; 2020. p. 42077.

Rahimi N, Eassa F, Elrefaei L. An ensemble machine learning technique for functional requirement classification. Symmetry 2020 10;12:1–26.

Canedo ED, Mendes BC. Software requirements classification using machine learning algorithms. Entropy 2020 9;22:1–20.

Baker C, Deng L, Chakraborty S, Dehlinger J. Automatic Multi-Class Non-Functional Software Requirements Classification Using Neural Networks. In: Proceedings - International Computer Software and Applications Conference, vol. 2 IEEE Computer Society; 2019. p. 610–615.

Houmb SH, Islam S, Knauss E, Jurjens J, Schneider K. Eliciting security requirements and tracing them to design: An integration of common criteria, heuristics, and UMLsec. Requirements Eng 2020;15:63–93.

Dekhtyar A, Fong V. RE Data Challenge: Requirements Identification with Word2Vec and TensorFlow. In: Proceedings-2017 IEEE 25th International Requirements Engineering Conference, RE 2017 Institute of Electrical and Electronics Engineers Inc.; 2017. p. 484–489.

Hey T, Keim J, Koziolek A, Tichy WF. NoRBERT: Transfer Learning for Requirements Classification. In: in Proceedings of the IEEE International Conference on Requirements Engineering; 2020. p. 169–179.

DOI: http://dx.doi.org/10.12962/j20882033.v32i3.13005


  • There are currently no refbacks.

Creative Commons License

IPTEK Journal of Science and Technology by Lembaga Penelitian dan Pengabdian kepada Masyarakat, ITS is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at https://iptek.its.ac.id/index.php/jts.