English

Contract Based Program Models for Software Model Checking

Formal Languages and Automata Theory 2025-03-17 v1 Software Engineering

Abstract

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.

Keywords

Cite

@article{arxiv.2503.11236,
  title  = {Contract Based Program Models for Software Model Checking},
  author = {Jesper Amilon and Dilian Gurov},
  journal= {arXiv preprint arXiv:2503.11236},
  year   = {2025}
}