David Parker
Reader, Computer Science, University of Birmingham
[NP14] Gethin Norman and David Parker. Quantitative Verification: Formal Guarantees for Timeliness, Reliability and Performance. A report by the London Mathematical Society and the Smith Institute. Edited by Robert Leese and Tom Melham. 2014. [pdf] [bib] [Gives a short, accessible introduction to quantitative verification, with a focus on model checking for timed and probabilistic systems.]
Downloads:  pdf pdf (1.56 MB)  bib bib
Abstract. Computerised systems appear in almost all aspects of our daily lives, often in safety-critical scenarios such as embedded control systems in cars and aircraft or medical devices such as pacemakers and sensors. We are thus increasingly reliant on these systems working correctly, despite often operating in unpredictable or unreliable environments. Designers of such devices need ways to guarantee that they will operate in a reliable and efficient manner.

Quantitative verification is a technique for analysing quantitative aspects of a system's design, such as timeliness, reliability or performance. It applies formal methods, based on a rigorous analysis of a mathematical model of the system, to automatically prove certain precisely specified properties, e.g. "the airbag will always deploy within 20 milliseconds after a crash" or "the probability of both sensors failing simultaneously is less than 0.001". The ability to formally guarantee quantitative properties of this kind is beneficial across a wide range of application domains. For example, in safety-critical systems, it may be essential to establish credible bounds on the probability with which certain failures or combinations of failures can occur. In embedded control systems, it is often important to comply with strict constraints on timing or resources. More generally, being able to derive guarantees on precisely specified levels of performance or efficiency is a valuable tool in the design of, for example, wireless networking protocols, robotic systems or power management algorithms, to name but a few.

This report gives a short introduction to quantitative verification, focusing in particular on a widely used technique called model checking, and its generalisation to the analysis of quantitative aspects of a system such as timing, probabilistic behaviour or resource usage. The intended audience is industrial designers and developers of systems such as those highlighted above who could benefit from the application of quantitative verification, but lack expertise in formal verification or modelling. This report, in addition to explaining the basics of quantitative verification, highlights a variety of successful practical applications of these methods and provides suggestions as to how interested readers can learn more about these techniques, and engage with the researchers that are developing them. We hope that this will spur further advances in this rapidly advancing area and its applicability to industrial-scale problems.