Current browse context:
cs.SE
Change to browse by:
References & Citations
Computer Science > Software Engineering
Title: The role of formalism in system requirements
(Submitted on 6 Nov 2019 (v1), revised 4 Apr 2020 (this version, v2), latest version 16 Apr 2020 (v6))
Abstract: 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, which is good for understandability but lacks precision.
To make requirements precise, researchers have for many years advocated the use of ``formal'' approaches. Many such approaches exist, differing in their style, scope and applicability. The present survey discusses some of the principal approaches and compare them to informal ones.
The analysis uses a set of complementary criteria, such as level of abstraction, availability of tools, support for traceability. It classifies the approaches into five categories: general-purpose, natural-language, graph/automata, other mathematical notations, programming-language-based. The review includes examples from all of these categories, altogether 22 different methods, 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.
Submission history
From: Bertrand Meyer [view email][v1] Wed, 6 Nov 2019 14:40:16 GMT (2727kb,D)
[v2] Sat, 4 Apr 2020 14:03:04 GMT (2734kb,D)
[v3] Tue, 7 Apr 2020 07:35:39 GMT (2727kb,D)
[v4] Sun, 12 Apr 2020 09:26:44 GMT (2917kb,D)
[v5] Wed, 15 Apr 2020 17:02:44 GMT (2920kb,D)
[v6] Thu, 16 Apr 2020 12:42:18 GMT (2920kb,D)
Link back to: arXiv, form interface, contact.