Detecting prevalent in requirements documents. However, ambiguity is an

Detecting and Resolving Ambiguity DARA Results and

Somaia Osama*1, Mostafa Aref*2

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

*Computer Science Department, Faculty of
Computer and Information Science, Ain Shams University
Cairo, Egypt

[email protected]

[email protected]


Abstract — Natural
language is prevalent in requirements documents. However, ambiguity is an
intrinsic phenomenon of natural language, and is therefore present in all such
documents. Ambiguity occurs when a sentence can be interpreted differently by
different readers. In this paper, we describe an automated approach for characterizing,
detecting and resolving so-called ambiguities, which carry a high risk of
misunderstanding among different readers. Given a natural language requirements
document, sentences that contain specific types of ambiguity are first
extracted automatically from the text and determine ambiguity type. Resolving
algorithm is then used to resolve ambiguous sentences, based on a set of rules
that draw on human judgments, which we collected as training data. We implemented
a tool for Detecting and Resolving Ambiguity (DARA), in order to illustrate and
evaluate our approach. The tool focuses on Lexical, Referential, Coordination,
Scope and Vague ambiguity. We report on the results of a set of experiments to
assess the performance and usefulness of the approach.


Natural language processing (NLP), ambiguity, requirement
engineering, software requirement specification, ambiguity detection, ambiguity
resolving, disambiguation.



1.      Introduction


The Software
Requirements Specification (SRS) is a part of the contract and it must define
the user and the system requirements obviously, accurately and
unambiguously.  The SRS that has
inconspicuous, incomplete, unmanaged, unspecified, inaccurate or ambiguous
requirement definition may eventually lead to cost and time overruns 3, 4, and
5. Ambiguous requirements lead to confusion, waste of both effort and time and
rework. Ambiguity is the possibility to interpret a phrase/word in several
ways. It is one of the problems that occur in natural language texts. An
ambiguity has two sources: incomplete information and communication mistakes.
Some errors can be resolved without domain knowledge like grammatical error,
though some errors need domain knowledge like the lack of details that the user
needs. The Ambiguity Handbook 6 presents different types of ambiguities,
categorized as Lexical, Syntactic, Semantic, Pragmatic, Vagueness, Generality
and Language Error. Although the fact that the requirements specified in
natural language tend to inappropriate interpretations, the requirements are
most often specified in natural language. So, it is necessary to develop the
approaches that deal with the ambiguities in user requirement specifications.
Manually detecting and resolving ambiguity from software requirements is a
tedious, time consuming, error prone, and therefore expensive process.
Therefore, an automated approach to detect and resolve ambiguities from the
requirements statement is needed.