Developing safety-critical systems: the role of formal methods and tools
Constance Heitmeyer
Abstract
Constance Heitmeyer
Abstract
In recent years, many formal methods have been proposed to improve the quality of safety-critical software systems. These methods include new specification and modeling languages as well as formal verification techniques, such as model checking and theorem proving. This paper describes numerous ways in which tools supporting formal methods can improve the quality of both software code as well as software specifications and models. However, while promising, formal methods and their support tools are rarely used in software practice. To overcome this problem, I propose several needed improvements, which could lead to more widespread use of formal methods in the development of safety-critical systems and software.
OpenAlex reports 14 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In recent years, many formal methods have been proposed to improve the quality of safety-critical software systems. These methods include new specification and modeling languages as well as formal verification techniques, such as model checking and theorem proving. This paper describes numerous ways in which tools supporting formal methods can improve the quality of both software code as well as software specifications and models. However, while promising, formal methods and their support tools are rarely used in software practice. To overcome this problem, I propose several needed improvements, which could lead to more widespread use of formal methods in the development of safety-critical systems and software.
Key concepts: Formal methods, Computer science, Software engineering, Formal specification, Refinement, Formal verification, Verification and validation, Life-critical system