Software Requirements Verification by Natural Language Analysis: A CNR initiative for Italian SMEs
by Fabrizio Fabbrini, Mario Fusani, Stefania Gnesi, Giuseppe Lami
A project is under way at IEI-CNR with the objective of transferring technology to small and medium enterprises that helps to improve the software development process. The goal is to create an automatic tool supporting the analysis and quality evaluation of natural language software specifications.
Requirements Specification is a crucial phase in the software life-cycle. However, problems in the interpretation of requirements documentation often arise as a consequence of ambiguity and incompleteness in the specifications. Providing the software engineer with tools and techniques for the early detection of such problems can help to avoid later and very expensive corrective actions. IEI-CNR has been involved for several years in research into tools for the analysis and evaluation of Natural Language (NL) software requirements.
The approach adopted has been to define a Quality Model for Software Requirements Specifications, and to develop an automatic tool for the verification of requirements in order to guarantee their compliance to this model. The quality model has been defined on the basis of selected linguistic properties of requirements documentation. These properties can be evaluated automatically by means of associated indicators and are measurable numerically. Although the model does not cover all the possible quality properties of software requirements, it is sufficiently specific to be used (with the support of automatic tools) to verify the quality of the documentation. This quality model has been validated on real-world documents for industrial requirements in order to assess its utility.
After the validation stage, an automatic tool that assists the software requirements reviewer to detect quality problems in terms of ambiguous, incomplete and unclear sentences is now under development. Sentences in requirements documentation are parsed by means of special grammar rules in order to identify the syntactic and lexical components; specially built lexicons1 are used to calculate the values of the quality indicators of the model. This tool will indicate to the reviewer those requirements in which potential problems are present and identify the type of problem. The reviewer is responsible for the overall assessment of the validity of the documentation. As shown in the figure, the inclusion of this tool in the Requirements Specification process should provide a valid support for the reviewer and should encourage SMEs to improve their software process.
Stefania Gnesi - IEI-CNR
Tel: +39 050 593 489