Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models

  • Authors:
  • Daniel Popescu;Spencer Rugaber;Nenad Medvidovic;Daniel M. Berry

  • Affiliations:
  • Computer Science Department, University of Southern California, Los Angeles, USA;College of Computing, Georgia Institute of Technology, Atlanta, USA;Computer Science Department, University of Southern California, Los Angeles, USA;Cheriton School of Computer Science, University of Waterloo, Waterloo, Canada

  • Venue:
  • Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

In industry, reviews and inspections are the primary methods to identify ambiguities, inconsistencies, and under specifications in natural language (NL) software requirements specifications (SRSs). However, humans have difficulties identifying ambiguities and tend to overlook inconsistencies in a large NL SRS. This paper presents a three-step, semi-automatic method, supported by a prototype tool, for identifying inconsistencies and ambiguities in NL SRSs. The method combines the strengths of automation and human reasoning to overcome difficulties with reviews and inspections. First, the tool parses a NL SRS according to a constraining grammar. Second, from relationships exposed in the parse, the tool creates the classes, methods, variables, and associations of an object-oriented analysis model of the specified system. Third, the model is diagrammed so that a human reviewer can use the model to detect ambiguities and inconsistencies. Since a human finds the problems, the tool has to have neither perfect recall nor perfect precision. The effectiveness of the approach is demonstrated by applying it and the tool to a widely published example NL SRS. A separate study evaluates the tool's domain-specific term detection.