Speaker
Affilliation
Open University
Abstract
In this talk we present research that addresses problems caused by ambiguity in requirements. Ambiguity is pervasive in natural language. In requirements engineering it is often considered together with concepts such as incompleteness and inconsistency as a major concern. This is because it can lead to misuderstandings, and therefore to incorrect implementations. Despite the development of formal specification methods, most requirements documents are still written in everyday natural language. Misunderstandings can therefore occur between stakeholders in the requirements engineering process. The worst scenario is when they interpret a requirement in one way but do not realise that other interpretations are possible. Misunderstandings are therefore carried forward into other stages of the software lifecycle.
We aim to determine which ambiguities may lead to misunderstandings - we term these ``nocuous ambiguities''. Authors and readers of requirements should be notified about these, and ideally they should be rewritten in a less ambiguous form. Other ambiguities can be allowed to remain in text. We consider that human perception is the only way ambiguity can be judged. It is this that determines whether an ambiguity is nocuous. We have therefore surveyed human perceptions about a set of ambiguities taken from requirements documents. We then attempt to automatically predict these perceptions, using a set of heurustics we have developed based on various types of linguistic data. These determine which ambiguities are nocuous. They achieve varying degrees of success, and can be used in combination to give good precision and recall. Our model of ambiguity classification, together with our method of implementing it, is a novel approach to the problem.