QuARS: A NLP Tool for Requirements Analysis

QuARS (Quality Analyzer for Requirements Specifications) is a tool able to perform an analysis of Natural Language (NL) requirements in a systematic and an automatic way by means of natural language processing techniques with a focus on ambiguity detection. QuARS allows the requirements engineers to perform an early analysis of the requirements for automatically detecting potential linguistic defects. 1 Quality Analysis of NL Requirements: QuARS NL requirements are widely used in software industry, at least as the first level of description of a system. Unfortunately they are often prone to errors and this is partially caused by interpretation problems due to the use of NL itself. An evaluation of NL requirements to address part of the interpretation problems due to linguistic problems was considered an interesting research problem. However, as any other evaluation process, the quality evaluation of NL software requirements needs the definition of a quality model. We defined a quality model composed of high level quality properties for NL requirements to be evaluated by means of indicators directly detectable and measurable on NL requirement documents distinguishing four quality types, namely syntactic, structural, semantic, and pragmatic [2, 3, 4, 6]. The quality model was the basis for implementing a tool, called QuARS 1 – Quality Analyzer for Requirement Specifications– for analyzing NL requirements in a systematic and automatic way [5]. The approach provided by QuARS is mainly focused on lexical and syntactic quality aspects, while the pragmatic aspect, which depends on the reader of the requirements, is not taken into account. In particular QuARS performs expressiveness analysis by means of a lexical and syntactic analysis of the input file in order to identify those sentences containing defects according to the quality model looking at: 1. Unambiguity: the capability of each Requirement to have a unique interpretation. 2. Clarity: the capability of each Requirement to uniquely identify its object or subject. 3. Understandability: the capability of each Requirement to be fully understood when used for developing software and the capability of the Requirement Specification Document to be fully understood when read by the user. Indicators, in this case, are syntactic or structural aspects of the requirements specification documents that provide information on the defects related to a particular property of the requirements themselves. Copyright c © 2019 by the paper’s authors. Copying permitted for private and academic purposes. 1http://quars.isti.cnr.it/ Figure 1: QuARS Process

[1]  Stefania Gnesi,et al.  Ambiguity defects as variation points in requirements , 2017, VaMoS.

[2]  Stefania Gnesi,et al.  Hacking an Ambiguity Detection Tool to Extract Variation Points: an Experience Report , 2018, VaMoS.

[3]  Antonio Bucchiarone,et al.  A New Quality Model for Natural Language Requirements Specifications , 2006 .

[4]  Antonio Bucchiarone,et al.  Evaluation of Natural Language Requirements in the MODCONTROL Project , 2008, ERCIM News.

[5]  Stefania Gnesi,et al.  The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[6]  Stefania Gnesi,et al.  Requirement Engineering of Software Product Lines: Extracting Variability Using NLP , 2018, 2018 IEEE 26th International Requirements Engineering Conference (RE).

[7]  Stefania Gnesi,et al.  An automatic tool for the analysis of natural language requirements , 2005, Comput. Syst. Sci. Eng..

[8]  Vincenzo Gervasi,et al.  On Linguistic Quality of Natural Language Requirements , 1998, REFSQ.

[9]  Erik Kamsties,et al.  From Contract Drafting to Software Specification: Linguistic Sources of Ambiguity , 2003 .

[10]  M. Coleman,et al.  A computer readability formula designed for machine scoring. , 1975 .

[11]  Stefania Gnesi,et al.  An Automatic Quality Evaluation for Natural Language Requirements , 2001 .

[12]  Stefania Gnesi,et al.  Using NLP to Detect Requirements Defects: An Industrial Experience in the Railway Domain , 2017, REFSQ.