We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.SE

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Software Engineering

Title: The role of formalism in system requirements (full version)

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, 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.)
Comments: Fourth version (15 April 2020). This is the full version, including some sections and 2 appendices not appearing in the short version
Subjects: Software Engineering (cs.SE); Formal Languages and Automata Theory (cs.FL); Programming Languages (cs.PL)
Cite as: arXiv:1911.02564 [cs.SE]
  (or arXiv:1911.02564v6 [cs.SE] for this version)

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.