Facebook pixel tracking

The Science and Information (SAI) Organization publishes open-access peer-reviewed journals in computer science and artificial intelligence.

Contact Info
Website thesai.org
Follow Us
Contact Info
Follow Us
Research Article | Open Access |

Implementation of a Formal Software Requirements Ambiguity Prevention Tool

Author 1: Rasha Alomari Author 2: Hanan Elazhary
International Journal of Advanced Computer Science and Applications (IJACSA) · Vol. 9, No. 8 · Published 2018 · Cited by 7

DOI: https://doi.org/10.14569/IJACSA.2018.090854

Abstract

The success of the software engineering process depends heavily on clear unambiguous software requirements. Ambiguity refers to the possibility to understand a requirement in more than one way. Unfortunately, ambiguity is an inherent property of the natural languages used to write the software user requirements. This could cause a final faulty system implementation, which is too expensive to correct. The basic requirements ambiguity resolution approaches in the literature are ambiguity detection, ambiguity avoidance, and ambiguity prevention. Ambiguity prevention is the least tackled approach because it requires designing formal languages and templates, which are hard to implement. The main goal of this paper is to provide full implementation of an ambiguity prevention tool and then study its effectiveness using real requirements. Towards this goal, we developed a set of Finite State Machine (FSMs) implementing templates of various requirement types. We then used Python to implement the ambiguity prevention tool based on those FSMs. We also collected a benchmark of 2460 real requirements and selected a random set of forty real requirements to test the effectiveness of the developed tool. The experiment showed that the implemented ambiguity prevention tool can prevent critical requirements ambiguity issues such as missing information or domain ambiguity. Nevertheless, there is a tradeoff between ambiguity prevention and the effort needed to write the requirements using the imposed templates.

Keywords

How to Cite this Article

Alomari, R., & Elazhary, H. (2018). Implementation of a Formal Software Requirements Ambiguity Prevention Tool. International Journal of Advanced Computer Science and Applications, 9(8). https://doi.org/10.14569/IJACSA.2018.090854

Alomari, Rasha, and Hanan Elazhary. "Implementation of a Formal Software Requirements Ambiguity Prevention Tool." International Journal of Advanced Computer Science and Applications, vol. 9, no. 8, 2018, https://doi.org/10.14569/IJACSA.2018.090854.

@article{Alomari2018,
  title     = {Implementation of a Formal Software Requirements Ambiguity Prevention Tool},
  journal   = {International Journal of Advanced Computer Science and Applications},
  volume    = {9},
  number    = {8},
  year      = {2018},
  publisher = {The Science and Information Organization},
  author    = {Rasha Alomari and Hanan Elazhary},
  doi       = {10.14569/IJACSA.2018.090854},
  url       = {https://doi.org/10.14569/IJACSA.2018.090854}
}

Open Access — licensed under a Creative Commons Attribution 4.0 International License. Unrestricted use, distribution, and reproduction in any medium, even commercially, as long as the original work is properly cited.