Formal Methods

This factfile provides an introduction to formal methods for systems and software development for members and the public.

“Formal methods” are techniques, frequently supported by tools, for systems and software development. Their distinguishing characteristic is that they exploit notations that have a mathematically rigorous semantics so that the analysis tools available can offer high levels of assurance and consistency in the analysis of models, designs and programs. This factfile considers the advantages of formal methods; why that is important; the formal methods that are widely used; and who uses them for real systems.