Automated Review of Natural Language Requirements Documents: Generating Useful Warnings with User-extensible Glossaries Driving a Simple State Machine

Document Type

Conference Proceeding

Publication Date


Find in a Library

Catalog Record


We present an approach to automating some of the quality assurance review of software requirements documents, and promoting best practices for requirements documentation. The system we describe -- the Requirements Analysis Tool (RAT) - has been deployed and is currently being used in pilot projects with large and complex requirements documents. Preliminary results indicate a reduction in time needed to review documents and reduction in requirements defects as well as a change in the way users think about writing requirements. Our approach allows users to write requirements in natural language instead of an artificial formalism. RAT enforces requirements documentation best practices such as using standardized syntaxes and internally-consistent use of terminology. It supports the use of user-extensible glossaries to define terms. The formalism driving RAT is a state-machine, which is used to classify requirements into types based on keywords and then verify that the requirements follow one of the best practice syntaxes supported by the tool. It generates helpful warning messages explaining where requirements are not following best practices and suggests ways to rectify.


This paper was presented at the 2nd India Software Engineering Conference, Pune, Maharashtra, India, February 23-26, 2009.



Catalog Record