Software Requirements as an Application Domain for Natural Language Processing

Themistoklis Diamantopoulos, Michael Roth, Andreas Symeonidis, Ewan Klein

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

Mapping functional requirements first to specifications and then to code is one of the most challenging tasks in software development. Since requirements are commonly written in natural language, they can be prone to ambiguity, incompleteness and inconsistency. Structured semantic representations allow requirements to be translated to formal models, which can be used to detect problems at an early stage of the development process through validation. Storing and querying such models can also facilitate software reuse. Several approaches constrain the input format of requirements to produce specifications, however they usually require considerable human effort in order toadopt domain-specific heuristics and/or controlled languages.
We propose a mechanism that automates the mapping of requirements to formal representations using semantic role labeling. We describe the first publicly available dataset for this task, employ a hierarchical framework that allows requirements concepts to be annotated, and discuss how semantic role labeling can be adapted for parsing software requirements.
Original languageEnglish
Pages (from-to)495-524
Number of pages30
JournalLanguage Resources and Evaluation
Issue number2
Early online date27 Feb 2017
Publication statusPublished - 1 Jun 2017


Dive into the research topics of 'Software Requirements as an Application Domain for Natural Language Processing'. Together they form a unique fingerprint.

Cite this