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: Formality in Software Requirements

Abstract: A major determinant of the quality of software systems is the quality of their requirements, which should be both understandable and precise. Natural language, the most commonly used for writing requirements, helps understandability, but lacks precision.
To achieve precision, researchers have for many years advocated the use of "formal" approaches to writing requirements. These efforts have produced many requirements methods and notations, which vary considerably in their style, scope and applicability. The present survey discusses some of the principal approaches.
The analysis uses a number of complementary criteria, such as traceability support, level of abstraction and tool support. It classifies the surveyed techniques into five categories: general-purpose, natural-language-based, graph and automata, other mathematical notations, and programming-language-based). The review includes examples from all of these categories, altogether 22 different methods, including for example SysML, Relax, Petri Nets, VDM, Eiffel, Event-B, Alloy.
The review discusses a number of important open questions, including the role of tools and education and how to make industrial applications benefit more from the contributions of formal approaches.
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.02564v1 [cs.SE] for this version)

Submission history

From: Bertrand Meyer [view email]
[v1] Wed, 6 Nov 2019 14:40:16 GMT (2727kb,D)

Link back to: arXiv, form interface, contact.