ACM Home Page
Please provide us with feedback. Feedback
Automated review of natural language requirements documents: generating useful warnings with user-extensible glossaries driving a simple state machine
Full text PdfPdf (583 KB)
Source
India Software Engineering Conference archive
Proceeding of the 2nd annual conference on India software engineering conference table of contents
Pune, India
SESSION: Research papers II table of contents
Pages 37-46  
Year of Publication: 2009
ISBN:978-1-60558-426-3
Authors
Prateek Jain  Kno.e.sis, Wright State University, Dayton, OH, USA
Kunal Verma  Accenture Technology Labs, San Jose, CA, USA
Alex Kass  Accenture Technology Labs, San Jose, CA, USA
Reymonrod G. Vasquez  Accenture Technology Labs, San Jose, CA, USA
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 54,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1506216.1506224
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
Lami G. QuARS: A tool for analyzing requirements. Software Engineering Technical Report CMU/SEI-2005-TR-014, Software Engineering Institute, USA, September 2005.
 
5
 
6
Raven Software, www.ravensoft.com
 
7
YACC, http://dinosaur.compilertools.net/yacc/
 
8
ANTLR, http://www.antlr.org/
 
9
 
10
 
11
 
12
IEEE Recommended Practice for Software Requirements Specifications. IEEE/ANSI Standard 830--1998, Institute of Electrical and Electronics Engineers, 1998.

Collaborative Colleagues:
Prateek Jain: colleagues
Kunal Verma: colleagues
Alex Kass: colleagues
Reymonrod G. Vasquez: colleagues