Automated checking of conformance to requirements templates using natural language processing

Chetan Arora, Mehrdad Sabetzadeh, Lionel Briand, Frank Zimmer

Research output: Contribution to journalArticlepeer-review

Abstract

Templates are effective tools for increasing the precision of natural language requirements and for avoiding ambiguities that may arise from the use of unrestricted natural language. When templates are applied, it is important to verify that the requirements are indeed written according to the templates. If done manually, checking conformance to templates is laborious, presenting a particular challenge when the task has to be repeated multiple times in response to changes in the requirements. In this article, using techniques from natural language processing (NLP), we develop an automated approach for checking conformance to templates. Specifically, we present a generalizable method for casting templates into NLP pattern matchers and reflect on our practical experience implementing automated checkers for two well-known templates in the requirements engineering community. We report on the application of our approach to four case studies. Our results indicate that: (1) our approach provides a robust and accurate basis for checking conformance to templates; and (2) the effectiveness of our approach is not compromised even when the requirements glossary terms are unknown. This makes our work particularly relevant to practice, as many industrial requirements documents have incomplete glossaries.

Original languageEnglish
Article number7100933
Pages (from-to)944-968
Number of pages25
JournalIEEE Transactions on Software Engineering
Volume41
Issue number10
DOIs
Publication statusPublished - 1 Oct 2015
Externally publishedYes

Keywords

  • Case Study Research
  • Natural Language Processing (NLP)
  • Requirements Templates

Fingerprint

Dive into the research topics of 'Automated checking of conformance to requirements templates using natural language processing'. Together they form a unique fingerprint.

Cite this