The Role of Formalism in System Requirements. / Bruel, Jean-Michel; Ebersold, Sophie; Galinier, Florian et al.
In: ACM Computing Surveys, Vol. 54, No. 5, 93, 30.06.2022, p. 1-36.Research output: Contribution to journal › Article › peer-review
}
TY - JOUR
T1 - The Role of Formalism in System Requirements
AU - Bruel, Jean-Michel
AU - Ebersold, Sophie
AU - Galinier, Florian
AU - Mazzara, Manuel
AU - Naumchev, Alexandr
AU - Meyer, Bertrand
PY - 2022/6/30
Y1 - 2022/6/30
N2 - 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 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 nine complementary criteria, such as level of abstraction, tool availability, and traceability support. It classifies the approaches into five categories based on their principal style for specifying requirements: natural-language, semi-formal, automata/graphs, mathematical, and seamless (programming-language-based). It includes examples from all of these categories, altogether 21 different approaches, including for example SysML, Relax, Eiffel, Event-B, and 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.
AB - 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 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 nine complementary criteria, such as level of abstraction, tool availability, and traceability support. It classifies the approaches into five categories based on their principal style for specifying requirements: natural-language, semi-formal, automata/graphs, mathematical, and seamless (programming-language-based). It includes examples from all of these categories, altogether 21 different approaches, including for example SysML, Relax, Eiffel, Event-B, and 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.
KW - Formal
KW - requirement
KW - seamless
KW - software
KW - specification
UR - https://www.mendeley.com/catalogue/c9fe265b-a6a3-32d9-86f3-23da392b66f7/
U2 - 10.1145/3448975
DO - 10.1145/3448975
M3 - Article
VL - 54
SP - 1
EP - 36
JO - ACM Computing Surveys
JF - ACM Computing Surveys
SN - 0360-0300
IS - 5
M1 - 93
ER -
ID: 65524299