Early analysis of requirements using NLP and Petri-nets

Edgar Sarmiento-Calisaya, Julio Cesar Sampaio do Prado Leite

Research output: Contribution to journalArticlepeer-review

Abstract

Scenario-based approaches are widely used for software requirements specification. Since scenarios are usually written using natural language, specifications may have statements that are ambiguous, unnecessarily complicated, missing, duplicated, or conflicting. Requirements quality is challenging since it is hard to achieve consistency in requirements products. Unfortunately, if done manually, analysis of textual scenarios can be an arduous, time-consuming, and error-prone activity. This work rethinks the unambiguity, completeness, consistency, and correctness properties of scenario-based specifications; and how static and dynamic analysis strategies could automatically evaluate them. To do so, we introduce an automated requirements analysis approach to check both structural and behavioral aspects of scenarios, which combines natural language processing, Petri-nets, and visualization techniques for: (i) identifying certain types of defects and their indicators; (ii) highlighting scenario statements or relationships among scenarios that can lead to defects; and (iii) foreseeing scenario execution paths that can lead to inconsistencies. We show the feasibility of the proposed approach through the analysis of four projects specified as scenario-based descriptions. Overall, our approach produced reasonable results, with precision greater than 89% and recall greater than 98%. Our work allows researchers, as well as practitioners, to improve the quality of scenarios through an automated analysis approach.

Original languageEnglish
Article number111901
JournalJournal of Systems and Software
Volume208
DOIs
StatePublished - Feb 2024

Bibliographical note

Publisher Copyright:
© 2023 Elsevier Inc.

Keywords

  • Analysis
  • Natural language processing
  • Petri-nets
  • Scenario
  • Use case
  • Verification

Fingerprint

Dive into the research topics of 'Early analysis of requirements using NLP and Petri-nets'. Together they form a unique fingerprint.

Cite this