Contract Based Program Models for Software Model Checking
By: Jesper Amilon, Dilian Gurov
Potential Business Impact:
Makes sure computer programs work safely.
Model checking temporal properties of software is algorithmically hard. To be practically feasible, it usually requires the creation of simpler, abstract models of the software, over which the properties are checked. However, creating suitable abstractions is another difficult problem. We argue that such abstract models can be obtained with little effort, when the state transformation properties of the software components have already been deductively verified. As a concrete, language-independent representation of such abstractions we propose the use of \emph{flow graphs}, a formalism previously developed for the purposes of compositional model checking. In this paper, we describe how we envisage the work flow and tool chain to support the proposed verification approach in the context of embedded, safety-critical software written in~C.
Similar Papers
Practical Abstractions for Model Checking Continuous-Time Multi-Agent Systems
Multiagent Systems
Checks if real-time computer systems work right.
Model Checking as Program Verification by Abstract Interpretation (Extended Version)
Logic in Computer Science
Finds computer bugs by checking code like a game.
A SCADE Model Verification Method Based on B-Model Transformation
Software Engineering
Checks airplane software for safety errors.