The role of formalism in system requirements (full version)

11/06/2019
by   Jean-Michel Bruel, et al.
0

A major determinant of the quality of software systems is the quality of their requirements, which should be both understandable and precise. Most requirements are written in natural language, good for understandability but lacking in precision. To make requirements precise, researchers have for years advocated the use of mathematics-based notations and methods, known as "formal". Many exist, differing in their style, scope and applicability. The present survey discusses some of the main formal approaches and compares them to informal methods. The analysis uses a set of 9 complementary criteria, such as level of abstraction, tool availability, traceability support. It classifies the approaches into five categories: general-purpose, natural-language, graph/automata, other mathematical notations, seamless (programming-language-based). It presents approaches in all of these categories, altogether 22 different ones, including for example SysML, Relax, Eiffel, Event-B, Alloy. The review discusses a number of open questions, including seamlessness, the role of tools and education, and how to make industrial applications benefit more from the contributions of formal approaches. (This is the full version of the survey, including some sections and two appendices which, because of length restrictions, do not appear in the submitted version.)

READ FULL TEXT
research
11/06/2019

The role of formalism in system requirements (extended version)

A major determinant of the quality of software systems is the quality of...
research
11/06/2019

The role of formalism in system requirements

A major determinant of the quality of software systems is the quality of...
research
11/06/2019

Formality in Software Requirements

A major determinant of the quality of software systems is the quality of...
research
10/08/2017

Expressing and verifying embedded software requirements

Writing requirements for embedded software is pointless unless they refl...
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
11/05/2020

Towards a Theory of Special-purpose Program Obfuscation

Most recent theoretical literature on program obfuscation is based on no...

Please sign up or login with your details

Forgot password? Click here to reset