A Review of Machine Learning Algorithms for Identification and Classification of Non-Functional Requirements

Manal Binkhonain (Lead), Liping Zhao (Corresponding)

Research output: Contribution to journalArticlepeer-review


Recent developments in requirements engineering (RE) methods have seen a surge in using machine-learning (ML) algorithms to solve some difficult RE problems. One such problem is identification and classification of non-functional requirements (NFRs) in requirements documents. ML-based approaches to this problem have shown to produce promising results, better than those produced by traditional natural language processing (NLP) approaches. Yet, a systematic understanding of these ML approaches is still lacking.

This article reports on a systematic review of 24 ML-based approaches for identifying and classifying NFRs. Directed by three research questions, this article aims to understand what ML algorithms are used in these approaches, how these algorithms work and how they are performed.

1) 16 different ML algorithms are found in these approaches; of which supervised learning algorithms are most popular. 2) All 24 approaches have followed a standard process in identifying and classifying NFRs. 3) Precision and recall are the most used matrices to measure the performance of these approaches.

The review finds that while ML-based approaches have the potential in the classification and identification of NFRs, they face some open challenges that will affect their performance and practical application. [Impact] The review calls for the close collaboration between RE and ML researchers, to address open challenges facing the development of real-world ML systems.

The use of ML in RE opens up exciting opportunities to develop novel expert and intelligent systems to support RE tasks and processes. This implies that RE is being transformed into an application of modern expert systems.
Original languageEnglish
JournalExpert Systems with Applications
Early online date26 Feb 2019
Publication statusPublished - 2019


  • Requirements Engineering
  • Non-Functional Requirements
  • Requirements Documents
  • Requirements Identification
  • Requirements Classification
  • Machine Learning


Dive into the research topics of 'A Review of Machine Learning Algorithms for Identification and Classification of Non-Functional Requirements'. Together they form a unique fingerprint.

Cite this