A Python implementation for checking conformance to Requirements Templates (EARS, Rupp, Agile User Stories) using NLP (Spacy).
Based on the research paper:
C. Arora, M. Sabetzadeh, L. C. Briand, F. Zimmer, “Automated Checking of Conformance to Requirements Templates Using Natural Language Processing”, IEEE Trans. Software Eng.41(10): 944-968 (2015)
- EARS Compliance: Checks if requirements follow the Easy Approach to Requirements Syntax.
- Rupp Compliance: Checks compliance with Rupp's templates.
- Agile User Stories: Validates standard user story formats.
- REST API: Exposes conformance checking via a Flask API.
-
Install dependencies:
pip install -r requirements.txt python -m spacy download en_core_web_sm
-
Run the API:
python api_engine.py
-
Check Conformance: Send a POST request to
/conformance:curl -X POST http://localhost:5000/conformance -d '{"conformance": "ears", "requirements": "The system shall do X when Y."}'
For more details, see the Developer Guide.
Please attribute the original work.