Measuring and Improving the Completeness of Natural Language Requirements

[Context and motivation] System requirements specifications are normally written in natural language. These documents are required to be complete with respect to the input documents of the requirements definition phase, such as preliminary specifications, transcripts of meetings with the customers, etc. In other terms, they shall include all the relevant concepts and all the relevant interactions among concepts expressed in the input documents. [Question/Problem] Means are required to measure and improve the completeness of the requirements with respect to the input documents. [Principal idea/results] To measure this completeness, we propose two metrics that take into account the relevant terms of the input documents, and the relevant relationships among terms. Furthermore, to improve the completeness, we present a natural language processing tool named Completeness Assistant for Requirements CAR, which supports the definition of the requirements: the tool helps the requirements engineer in discovering relevant concepts and interactions. [Contribution] We have performed a pilot test with CAR, which shows that the tool can help improving the completeness of the requirements with respect to the input documents. The study has also shown that CAR is actually useful in the identification of specific/alternative system behaviours that might be overseen without the tool.

[1]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[2]  Haruhiko Kaiya,et al.  Ontology based requirements analysis: lightweight semantic processing approach , 2005, Fifth International Conference on Quality Software (QSIC'05).

[3]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[4]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

[5]  Paul Rayson,et al.  Recovering Legacy Requirements , 1999 .

[6]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[7]  Dar-Biau Liu,et al.  Metrics for requirements engineering , 1995, J. Syst. Softw..

[8]  Ted Dunning,et al.  Accurate Methods for the Statistics of Surprise and Coincidence , 1993, CL.

[9]  Nelly Condori-Fernández,et al.  Evaluating the Completeness and Granularity of Functional Requirements Specifications: A Controlled Experiment , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[10]  Simonetta Montemagni,et al.  A Contrastive Approach to Multi-word Extraction from Domain-specific Corpora , 2010, LREC.

[11]  Mark Mueller,et al.  An Experimental Comparison Regarding the Completeness of Functional Requirements Specifications , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[12]  Alan M. Davis,et al.  Identifying and measuring quality in a software requirements specification , 1993, [1993] Proceedings First International Software Metrics Symposium.

[13]  Felice Dell'Orletta,et al.  Ensemble system for Part-of-Speech tagging , 2009 .

[14]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[15]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.

[16]  T. M. Rajkumar,et al.  Comparison of analysis techniques for information requirement determination , 1988, CACM.

[17]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[18]  Felice Dell ' Orletta Ensemble system for Part-of-Speech tagging , 2009 .