Implementation of a Formal Software Requirements Ambiguity Prevention Tool

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.

Authors and Affiliations

Rasha Alomari, Hanan Elazhary

Keywords

Related Articles

Dense Hand-CNN: A Novel CNN Architecture based on Later Fusion of Neural and Wavelet Features for Identity Recognition

Biometric recognition or biometrics has emerged as the best solution for criminal identification and access control applications where resources or information need to be protected from unauthorized access. Biometric tra...

Mining Interesting Positive and Negative Association Rule Based on Improved Genetic Algorithm (MIPNAR_GA)

Association Rule mining is very efficient technique for finding strong relation between correlated data. The correlation of data gives meaning full extraction process. For the mining of positive and negative rules, a var...

Fault-Tolerant Fusion Algorithm of Trajectory and Attitude of Spacecraft Based on Multi-Station Measurement Data

Aiming at the practical situation that the navigation processes of spacecrafts usually rely on several different kinds of tracking equipments which track the spacecraft by turns, a series of new outlier-tolerant fusion a...

A Categorical Model of Process Co-Simulation

A set of dynamic systems in which some entities undergo transformations, or receive certain services in successive phases, can be modeled by processes. The specification of a process consists of a description of the prop...

 An Adaptive parameter free data mining approach for healthcare application

  In today’s world, healthcare is the most important factor affecting human life. Due to heavy work load it is not possible for personal healthcare. The proposed system acts as a preventive measure for determining w...

Download PDF file
  • EP ID EP376463
  • DOI 10.14569/IJACSA.2018.090854
  • Views 95
  • Downloads 0

How To Cite

Rasha Alomari, Hanan Elazhary (2018). Implementation of a Formal Software Requirements Ambiguity Prevention Tool. International Journal of Advanced Computer Science & Applications, 9(8), 424-432. https://europub.co.uk/articles/-A-376463