CORDIS - Forschungsergebnisse der EU
CORDIS
Inhalt archiviert am 2024-05-30

Model Checking Unleashed

Final Report Summary - MCUNLEASH (Model Checking Unleashed)

Model checking has been invented in the early 1980s as a technology for program verification: the automatic process of establishing properties about the runtime behaviour of a computer program. It has been known for a long time that this problem is undecidable, i.e. automatic program verification for arbitrary programs and properties is not possible. This has sparked a long line of successful work studying particular cases in which particular verification techniques do work, how to employ them efficiently, etc. Model checking can be characterised as a method that works in very particular cases only, but in these case it can often be made to be very efficient. The term "model checking" stems from the underlying mathematical formulation of the problem which asks whether or not a given structure (abstracting the program behaviour) satisfies a given logical formula (formalising the property), i.e. it is a "model".

The idea underlying the MCUNLEASH project is inspired by the success that model checking has had for the field of automatic program verification. It aims at studying where and how it can be applied in other areas. Decision (and even computation) problems in other areas can typically easily be seen as model checking instances, but in order to solve them using model checking technology it is typically necessary to extend it to logics of higher expressive power. This then naturally comes at the price of higher complexity, i.e. it is much more difficult to do it efficiently.

One PhD topic in the MCUNLEASH project has investigated an area close to program verification in the traditional model checking sense: process equivalences. Here the key question is to decide whether or not two given programs behave in the same way. We have intensively studied so-called polyadic logics which can express such properties of several systems. This has lifted model checking technology to process equivalence checking.

Another PhD topic has taken a investigated simulations between dynamic systems. These are typically easy to compute but often only approximate the real question of relationship between such systems. We have developed a rich theory of refined simulation relations which use standard model checking technology for computing them, and investigated how well they approximate the relationships between dynamic systems.

A third PhD topic deals with the foundational properties of modal fixpoint logics enriched with higher-order features. Modal fixpoint logics have always provided a good balance between efficient evaluation methods and reasonable expressive power. For many properties, for instance in the aforementioned process equivalences, much higher expressive power is needed, though. This PhD topic is forming the automata-theoretic foundations of logics that gain expressive power by extending modal logics with "large features". It therefore provides a computational basis for as-efficient-as-possible model checking for such logics.

A fourth PhD topic, started towards the end of the MCUNLEASH project, investigates model checking problems and applications for a particular class of logics that extend the aforementioned modal logics with certain "small" extensions, so-called hybrid logics.

Besides work towards these four goals, we have investigated extensions of model checking technology in various areas, for instance in using highly expressive dynamic logics with applications for finding paths in networks. We have shown that simple parsing problems in computational linguistics can be seen as model checking problems. We have studied problems in bio-informatics, namely derived a new algorithm for the problem of finding long common parts in sequences like DNA; we have also formed a framework for the specification and verification of properties of dynamic biological systems. We have investigated extensions of standard branching-time logics for use in abstraction-and-refinement frameworks. We have used a particular model checking technology called "bounded model checking" further in order to solve certain difficult satisfiability problems and also extended it to dynamic systems with real-time effects.

Despite all this work of pursuing the extension of model-checking technology to other areas for five years the limits of what model checking can also do have by far not been reached, let alone be fully seen.