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

The Failure of E-government in Jordan to Fulfill Potential

The aim of this paper is to uncover the reasons behind what so-called total failure in e-government project in Jordan. Reviewing the published papers in this context revealed that both citizens and employees do not under...

Attractiveness Analysis of Quiz Games

Quiz games are played on platforms such as television game shows, radio game shows, and recently, on mobile apps. In this study, HQ Trivia and SongPop 2 were chosen as the benchmark. Each game data have been collected fo...

On Integrating Mobile Applications into the Digital Forensic Investigative Process

What if a tool existed that allowed digital forensic investigators to create their own apps that would assist them with the evidence identification and collection process at crime scenes? First responders are responsible...

A Comparative Usability Study on the Use of Auditory Icons to Support Virtual Lecturers in E-Learning Interfaces

Prior conducted research revealed that the auditory icons could contribute in supporting the virtual lecturers in presence of full body animation while delivering the learning content in e-learning interfaces. This paper...

Data Augmentation to Stabilize Image Caption Generation Models in Deep Learning

Automatic image caption generation is a challenging AI problem since it requires utilization of several techniques from different computer science domains such as computer vision and natural language processing. Deep lea...

Download PDF file
  • EP ID EP376463
  • DOI 10.14569/IJACSA.2018.090854
  • Views 97
  • 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