Detecting prevalent in requirements documents. However, ambiguity is an

Detecting and Resolving Ambiguity DARA Results andEvaluation  Somaia Osama*1, Mostafa Aref*2*Computer Science Department, Faculty ofComputer and Information Science, Ain Shams UniversityCairo, Egypt [email protected][email protected] Abstract — Naturallanguage is prevalent in requirements documents. However, ambiguity is anintrinsic phenomenon of natural language, and is therefore present in all suchdocuments. Ambiguity occurs when a sentence can be interpreted differently bydifferent readers. In this paper, we describe an automated approach for characterizing,detecting and resolving so-called ambiguities, which carry a high risk ofmisunderstanding among different readers.

Given a natural language requirementsdocument, sentences that contain specific types of ambiguity are firstextracted automatically from the text and determine ambiguity type. Resolvingalgorithm is then used to resolve ambiguous sentences, based on a set of rulesthat draw on human judgments, which we collected as training data. We implementeda tool for Detecting and Resolving Ambiguity (DARA), in order to illustrate andevaluate our approach. The tool focuses on Lexical, Referential, Coordination,Scope and Vague ambiguity. We report on the results of a set of experiments toassess the performance and usefulness of the approach. Keywords:Natural language processing (NLP), ambiguity, requirementengineering, software requirement specification, ambiguity detection, ambiguityresolving, disambiguation.  1.      Introduction  The SoftwareRequirements Specification (SRS) is a part of the contract and it must definethe user and the system requirements obviously, accurately andunambiguously.

  The SRS that hasinconspicuous, incomplete, unmanaged, unspecified, inaccurate or ambiguousrequirement definition may eventually lead to cost and time overruns 3, 4, and5. Ambiguous requirements lead to confusion, waste of both effort and time andrework. Ambiguity is the possibility to interpret a phrase/word in severalways. It is one of the problems that occur in natural language texts. Anambiguity 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 userneeds. The Ambiguity Handbook 6 presents different types of ambiguities,categorized as Lexical, Syntactic, Semantic, Pragmatic, Vagueness, Generalityand Language Error.

Although the fact that the requirements specified innatural language tend to inappropriate interpretations, the requirements aremost often specified in natural language. So, it is necessary to develop theapproaches that deal with the ambiguities in user requirement specifications.Manually detecting and resolving ambiguity from software requirements is atedious, time consuming, error prone, and therefore expensive process.Therefore, an automated approach to detect and resolve ambiguities from therequirements statement is needed.