Why just FRET when you can Refactor? Retuning FRETISH Requirements

02/11/2022
by   Matt Luckcuck, et al.
0

Formal verification of a software system relies on formalising the requirements to which it should adhere, which can be challenging. While formalising requirements from natural-language, we have dependencies that lead to duplication of information across many requirements, meaning that a change to one requirement causes updates in several places. We propose to adapt code refactorings for NASA's Formal Requirements Elicitation Tool (FRET), our tool-of-choice. Refactoring is the process of reorganising software to improve its internal structure without altering its external behaviour; it can also be applied to requirements, to make them more manageable by reducing repetition. FRET automatically translates requirements (written in its input language Fretish) into Temporal Logic, which enables us to formally verify that refactoring has preserved the requirements' underlying meaning. In this paper, we present four refactorings for Fretish requirements and explain their utility. We describe the application of one of these refactorings to the requirements of a civilian aircraft engine software controller, to decouple the dependencies from the duplication, and analyse how this changes the number of requirements and the number of repetitions. We evaluate our approach using Spot, a tool for checking equivalence of Temporal Logic specifications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/10/2022

A Compositional Proof Framework for FRETish Requirements

Structured natural languages provide a trade space between ambiguous nat...
research
01/12/2022

Towards Refactoring FRETish Requirements

Like software, requirements evolve and change frequently during the deve...
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
12/03/2020

From Requirements to Autonomous Flight: An Overview of the Monitoring ICAROUS Project

The Independent Configurable Architecture for Reliable Operations of Unm...
research
06/14/2022

An Intelligent Assistant for Converting City Requirements to Formal Specification

As more and more monitoring systems have been deployed to smart cities, ...
research
11/06/2019

A Domain-Specific Language for Verifying Software Requirement Constraints

Software requirement analysis can certainly benefit from prevention and ...
research
03/01/2021

validation method to improve behavioral flows on uml requirements analysis model by cross-checking with state transition model

We propose a method to evaluate and improve the validity of required spe...

Please sign up or login with your details

Forgot password? Click here to reset