Formal Methods

The term "formal methods" refers to various mathematical techniques used for the formal specification and development of software. They consist of a formal specification language and employ a collection of tools to support the syntax checking of the specification, as well as the proof of properties of the specification. They allow questions to be asked about what the system does independently of the implementation.

The use of mathematical notation avoids speculation about the meaning of phrases in an imprecisely worded natural language description of a system. Natural language is inherently ambiguous, whereas mathematics employs a precise rigorous notation.

(O’Regan 2017, 39)

Industrial Applications

CICS project (IBM)

Formalisms

References:

O’Regan, Gerard. 2017. “Concise Guide to Formal Methods.” Undergraduate Topics in Computer Science, Springer International Publishing Ag.