IEEE Access (Jan 2021)

Challenges of Software Requirements Quality Assurance and Validation: A Systematic Literature Review

  • Issa Atoum,
  • Mahmoud Khalid Baklizi,
  • Izzat Alsmadi,
  • Ahmed Ali Otoom,
  • Taha Alhersh,
  • Jafar Ababneh,
  • Jameel Almalki,
  • Saeed Masoud Alshahrani

DOI
https://doi.org/10.1109/ACCESS.2021.3117989
Journal volume & issue
Vol. 9
pp. 137613 – 137634

Abstract

Read online

Validation of software requirements is a primary phase in requirements engineering that ensures requirements match the target system with the intended needs of the acquirer. It aims to detect and correct errors that prevail in the specified requirements. Although there are tremendous requirements validation approaches, some software may fail because of limited or ineffective requirements validation techniques and unreliable requirements’ quality characteristics. In this study, a systematic literature review of requirements validation is performed. The study analyzes the most adopted validation techniques, reports requirements quality characteristics, and discovers significant challenges of validation techniques. The review identified 66 relevant primary studies analyzed to derive deep insights into the following aspects of requirements validation: trends of requirements validation methods, including their subtechnique strengths and weaknesses, requirements quality characteristics categories, and adopted tools and datasets in these techniques. We grouped validation techniques into categories: prototyping, inspection, knowledge-oriented, test-oriented, modeling and assessment, and formal models. The analysis reported 19 validation techniques, 27 tools, new requirements validation characteristics, and several challenges that prevailed through validation techniques. The trend of validation techniques is to those methods that apply machine learning techniques with knowledge from dictionaries and ontologies. Most challenges are about how to express the requirements and how to revert clients’ feedback. There is a strong relationship between validation techniques, software application domain, and requirements validation quality attributes. Thus, there is an immense need to unify the quality characteristics and domain-specific validation methods.

Keywords