An NLP Tool for Checking Conformance to Requirement Boilerplates

The tool has been renamed as RETA (REquirements Template Analyzer).
A new website with installation instructions for a newer version is available at


 RUBRIC (ReqUirements BoileRplate sanIty Checker) is a flexible tool for automatically checking natural language requirements against boilerplates for conformance. RUBRIC further provides a range of diagnostics to highlight potentially problematic syntactic constructs in natural language statements which can result in ambiguities.
RUBRIC is based on a Natural Language Processing (NLP) technique, known as text chunking and has been implemented as a plugin for an open-source and freely available NLP framework, called GATE. Through the GATE user interface, RUBRIC enables users to:
  • Automatically verify conformance to requirement boilerplates. Our current implementation provides this function only for Rupp's boilerplate (one of the most well-known and commonly used requirement boilerplates). However, the underlying techniques are generalizable and can be easily extended to other boilerplates.
  • Detect constructs, including among others passive voice, and use of conjunctions and pronouns, which can potentially lead to ambiguities and therefore need to be carefully reviewed during requirements inspections.
  • Obtain intuitive feedback, through visual text markup, about boilerplate conformance and adherence to requirements writing best practices.


Relevant Publications

Chetan AroraMehrdad SabetzadehLionel Briand, Frank Zimmer, Raul Gnaga. "Automatic Checking of Conformance to Requirement Boilerplates via Text Chunking: An Industrial Case Study". 7th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM 2013). Baltimore, MD, USA 2013. (to appear) [Download]

System Requirements

RUBRIC has been tested on Windows/Mac systems with:
  • Java Development Kit (JDK) 1.7.0 and above [Download]
  • GATE Framework 7.1 release [Download]
    • Note: The distribution of RUBRIC we provide through this website has not been tested with earlier versions of GATE. Please make sure you download Release 7.1 (November 30th 2012).

Download & Installation

With JDK and GATE installed, you can invoke GATE and start RUBRIC from the command line through a fully-automated process.
  1. Download the executable jar file: rubric.jar.
  2. Execute rubric.jar from your command line from the directory in which rubric.jar is saved. It requires only one parameter, which is the path to GATE's home directory.
    java -jar rubric.jar "$GATE_HOME"
    Windows example: java -jar rubric.jar "C:\Program File\
    Mac example: java -jar rubric.jar /Applications/GATE_Developer_7.1/
  3. This will start the GATE framework, with all the relevant resources for RUBRIC loaded automatically. In addition, you will get an example requirements specification document and corpus loaded (the same requirements shown in the video demo above). This allows you to try out RUBRIC and see the feedback it generates in seconds!
  4.  If you are interested in applying RUBRIC to other requirements specifications, simply create new documents and corpuses through the GATE interface and apply the RUBRIC_Pipeline. You can also save the pipeline for future use.To do this, right-click on RUBRIC_Pipeline under Applications and choose Save Application State.
    • Note: The correct sequence of NLP modules in RUBRIC_Pipeline is:

Tool Maturity

RUBRIC has been used in an industrial case study at SES TechCom (see our ESEM'13 paper above for details). Following the completion of the case study, the requirements experts involved in the case study were given a hands-on tutorial on how to use RUBRIC. Post training, RUBRIC was independently used by the experts during requirements inspections. While we have not yet solicited systematic feedback from the experts regarding their perception about the tool, the informal feedback we have received so far has been positive.

   RUBRIC has been recently cited in a public research report involving Nuclear Waste Management Fund, Govt. Finland. "Controlled natural language requirements in the design and analysis of safety critical I&C systems"