The efficiency of machine learning algorithms in classifying non-functional requirements

    Milda Maciejauskaitė Affiliation
    ; Jolanta Miliauskaitė Affiliation


Machine learning (ML) algorithms are more and more widely applied in various types of systems, so the research related to them is also increasing. One of the areas of research under consideration is the classification of non-functional requirements (NFRs) using ML algorithms. This area of research is important because the automatic classification of NFRs using high-performance ML algorithms and corresponding features helps requirements engineers classify non-functional requirements more accurately. This paper examines ML algorithms suitable for solving classification problems and their effectiveness in classifying non-functional requirements. Based on the described stages of the research methodology ML algorithms models were compared using the accuracy, precision, recall, and F-score metrics. A majority voting classifier model was created using Support Vector Machine, Naïve Bayes and K Nearest Neighbor Algorithm algorithms. After K-Fold cross validation were obtained these results: accuracy – 0.710 (scale from 0 to 1), precision – 0.845, recall – 0.814 and F-score – 0.815.

Keyword : machine learning, non-functional requirements, classification, support vector machine, ensemble models, K-Fold cross validation

How to Cite
Maciejauskaitė, M., & Miliauskaitė, J. (2024). The efficiency of machine learning algorithms in classifying non-functional requirements. New Trends in Computer Sciences, 2(1), 46–56.
Published in Issue
Jun 19, 2024
Abstract Views
PDF Downloads
Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.


Abad, Z. S., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., & Schneider, K. (2017). What works better? A study of classifying requirements. In 2017 IEEE 25th International Requirements Engineering Conference (RE), (pp. 496–501). Lisbon.

Alashqar, A. M. (2022). Studying the commonalities, mappings and relationships between non-functional requirements using machine learning. Science of Computer Programming, 218, Article 102806.

Bajaj, A. (2023, April 27). Ensemble models: How to make better predictions by combining multiple models with Python codes (explained).

Baker, C., Deng, L., Chakraborty, S., & Dehlinger, J. (2019). Automatic multi-class non-functional software requirements classification using neural networks. In 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), (pp. 610–615). Milwaukee.

Bao, W., Lianju, N., & Yue, K. (2019). Integration of unsupervised and supervised machine learning algorithms for credit risk assessment. Expert Systems with Applications, 128, 301–315.

Binkhonain, M., & Zhao, L. (2019). A review of machine learning algorithms for identification and classification of non-functional requirements. Expert Systems with Applications.

Carta, S. (2022). What is machine learning? Wiley-Blackwell.

Ghoneim, S. (2019, April 02). Accuracy, recall, precision, f-score & specificity, which to optimize on?

Habibullah, K. M., & Horkoff, J. (2021, September). Non-functional requirements for machine learning: Understanding current use and challenges in industry. In 2021 IEEE 29th International Requirements Engineering Conference (RE) (pp. 13–23). IEEE.

Haque, M. A., Rahman, M. A., & Siddik, M. S. (2019). Non-functional requirements classification with feature extraction and machine learning: An empirical study. In 2019 1st International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT), (pp. 1–5). Dhaka, Bangladesh.

Harikrishnan, N. B. (2019, December 10). Confusion matrix, accuracy, precision, recall, F1 score.

Hendricks, R. (n.d.). What is a good accuracy score in Machine Learning?

Ho, W. K., Tang, B.-S., & Wong, S. W. (2021). Predicting property prices with machine learning algorithms. Journal of Property Research, 38(1), 48–70.

Ibrahim, I. M., & Abdulazeez, A. M. (2021). The role of machine learning algorithms for diagnosing diseases. Journal of Applied Science and Technology Trends (JASTT), 2(1), 10–19.

Imam, T., & Ananda, J. (2022). Machine learning for characterizing growth in tourism employment in developing economies: an assessment of tourism employment in Sri Lanka. Current Issues in Tourism, 25(16), 2695–2716.

Janiesch, C., Zschech, P., & Heinrich, K. (2021). Machine learning and deep learning. Electronic Markets, 31, 685–695.

Kanade, V. (2022). What is logistic regression? Equation, assumptions, types, and best practices.

Karthiban, R., Ambika, M., & Kannammal, K. E. (2019, January). A review on machine learning classification technique for bank loan approval. In 2019 International Conference on Computer Communication and Informatics (ICCCI) (pp. 1–6). IEEE.

Khurshid, I., Imtiaz, S., Boulila, W., Khan, Z., & Abbasi, A. (2022). Classification of non-functional requirements from IoT oriented healthcare requirement document. Frontiers Public Health, 10, Article 860536.

Koehrsen, W. (2018, March 03). Beyond accuracy: Precision and recall.

Kumar, R. (2023, August 12). VotingClassifier.

Kurtanović, Z., & Maalej, W. (2017). Automatically classifying functional and non-functional requirements using supervised machine learning. In 2017 IEEE 25th International Requirements Engineering Conference (RE), (pp. 490–495). Lisbon.

Mahesh, B. (2020). Machine learning algorithms – A review. International Journal of Science and Research (IJSR), 9(1), 381–386.

Miller, M. I., Shih, L. C., & Kolachalama, V. B. (2023). Machine learning in clinical trials: A primer with applications to neurology. Neurotherapeutics, 20(4), 1066–1080.

Mohd, T., Masrom, S., & Johari, N. (2019). Machine learning housing price prediction in Petaling Jaya, Selangor, Malaysia. International Journal of Recent Technology and Engineering, 8(2S11), 542–546.

Nelson, D. (2020, October 26). Kas yra ansamblinis mokymasis?

Rajaguru, H., & Chakravarthy, S. (2019). Analysis of decision tree and K-Nearest neighbor algorithm in the classification of breast cancer. Asian Pacific Journal Cancer Prevention, 20(12), 3777–3781.

Rymarczyk, T., Kozłowski, E., Kłosowski, G., & Niderla, K. (2019). Logistic regression for machine learning in process tomography. Sensors, 19(15), Article 3400.

Sarker, I. H., Kayes, A. S., Badsha, S., Alqahtani, H., Watters, P., & Ng, A. (2020). Cybersecurity data science: An overview from machine learning perspective. Journal of Big Data, 7, Article 41.

Shukla, V. (2023, February). Software requirements dataset.

Shung, K. P. (2018, March 15). Accuracy, precision, recall or F1?

Silwal, D. (2022, January 05). Confusion matrix, accuracy, precision, recall & F1 score: Interpretation of performance measures.

Singh, A. (2023, November 22). A comprehensive guide to ensemble learning (with Python codes).

Sruthi, E. R. (2023, April 26). Understand random forest algorithms with examples (updated 2023).

Uddin, S., Khan, A., Hossain, M. E., & Moni, M. A. (2019). Comparing different supervised machine learning algorithms for disease prediction. BMC Medical Informatics and Decision Making, 19, Article 281.

Wickramasinghe, I., & Kalutarage, H. (2021). Naive Bayes: Applications, variations and vulnerabilities: a review of literature with code snippets for implementation. Soft Computing, 25, 2277–2293.

Yang, L., & Shami, A. (2020). On hyperparameter optimization of machine learning algorithms: Theory and practice. Neurocomputing, 415, 295–316.