Using syntactic and semantic analyses to improve the quality of requirements documentation

We discuss our experiences with deploying a tool called the Requirements Analysis Tool (RAT), which automatically reviews requirements documents for clarity and content based issues using a variety of syntactic and semantic techniques. The tool has been deployed at over 500 large software projects. We provide an overview of our syntactic approach, which is based on enforcing restrictions on both sentence structure and vocabulary in a way that is carefully chosen to align with best practices. We discuss how RAT analyzes natural language text to find defects such as terminological inconsistencies and missing contextual information. Structured content from requirements is then represented as a semantic graph and RAT performs semantic analysis to help users perform interaction analysis. We present a number of case studies based on real world deployments of RAT which demonstrate number of improvements in the projects’ requirements ranging from clearer sentence structure to more complete requirements.

[1]  Linda H. Rosenberg,et al.  Automated Analysis of Requirement Specifications , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[2]  Alex Kass,et al.  Requirements Analysis Tool: A Tool for Automatically Analyzing Software Requirements Documents , 2008, SEMWEB.

[3]  Alex Kass,et al.  Automatically Mapping Natural Language Requirements to Domain-Specific Process Models , 2011, IAAI.

[4]  Alex Kass,et al.  Extracting High-Level Functional Design from Software Requirements , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

[5]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[6]  Neil A. M. Maiden,et al.  What are the day-to-day factors that are preventing business analysts from effective business analysis? , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[7]  Joanne M. Atlee,et al.  A logic-model semantics for SCR software requirements , 1996, ISSTA '96.

[8]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[9]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[10]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[11]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[12]  Alex Kass,et al.  Automated review of natural language requirements documents: generating useful warnings with user-extensible glossaries driving a simple state machine , 2009, ISEC '09.

[13]  Axel van Lamsweerde,et al.  Reasoning about partial goal satisfaction for requirements and design engineering , 2004, SIGSOFT '04/FSE-12.

[14]  Mark T True,et al.  Software Requirements , 2005 .

[15]  Gregor Engels,et al.  Semi-automated Test Planning for e-ID Systems by Using Requirements Clustering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[16]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[17]  Giuseppe Lami QuARS: A Tool for Analyzing Requirements , 2005 .