A Domain-Specific Language for Verifying Software Requirement Constraints

11/06/2019
by   Marzina Vidal, et al.
0

Software requirement analysis can certainly benefit from prevention and early detection of failures, in particular by some kind of automatic analysis. Formal methods offer means to represent and analyze requirements with rigorous tools, avoiding ambiguities and allowing automatic verification of requirement consistency. However, formalisms often clash in the culture or lack of skills of software analysts, making them challenging to apply. In this article, we propose a Domain-Specific Language (DSL) based on Set Theory for requirement analysts. The Graphical InvaRiant Language (GIRL) can be used to specify software requirement structural invariants, with entities and their relationships. Those invariants can then have their consistency evaluated by the Alloy Analyzer, based on a mapping semantics we provide for transforming GIRL models into Alloy specifications with no user intervention. With a prototypical language editor and transformations implemented into an Eclipse plugin, we carried out a qualitative study with requirement analysts working for a government software company in Brazil, to evaluate usability and effectiveness of the GIRL-based analysis of real software requirements. The participants were able to effectively use the underlying formal analysis, since 79 out of 80 assigned invariants were correctly modeled. While participants perceived as low the complexity of learning and using GIRL's simplest, set-based structures and relationships, the most complex logical structures, such as quantification and implication, were challenging. Furthermore, almost all post-study evaluations from the participants were positive, especially as a tool for discovering requirement inconsistencies.

READ FULL TEXT

page 10

page 14

research
03/04/2021

Natural Hoare Logic: Towards formal verification of programs from logical forms of natural language specifications

Formal verification provides strong guarantees of correctness of softwar...
research
08/14/2022

A Preliminary Study on the Potential Usefulness of Open Domain Model for Missing Software Requirements Recommendation

Completeness is one of the most important attributes of software require...
research
12/17/2019

Prema: A Tool for Precise Requirements Editing, Modeling and Analysis

We present Prema, a tool for Precise Requirement Editing, Modeling and A...
research
02/11/2022

Why just FRET when you can Refactor? Retuning FRETISH Requirements

Formal verification of a software system relies on formalising the requi...
research
03/14/2018

Integrating UML with Service Refinement for Requirements Modeling and Analysis

Unified Modeling Language (UML) is the de facto standard for requirement...
research
11/16/2022

Technical Report on Neural Language Models and Few-Shot Learning for Systematic Requirements Processing in MDSE

Systems engineering, in particular in the automotive domain, needs to co...
research
05/25/2023

Minimally Comparing Relational Abstract Domains

Value-based static analysis techniques express computed program invarian...

Please sign up or login with your details

Forgot password? Click here to reset