Unifying Model Execution and Deductive Verification with Interaction Trees in Isabelle/HOL
Simon Foster, Chung-Kil Hur, Jim Woodcock

TL;DR
This paper introduces Interaction Trees in Isabelle/HOL as a unified framework for executing and verifying models, enabling coherent analysis and proof of software behaviors across diverse semantics.
Contribution
It mechanises Interaction Trees in Isabelle/HOL, unifying execution and deductive verification for various models and semantics, with automation support.
Findings
ITrees can encode infinite transition systems and are inherently executable.
The framework supports verification of stateful, concurrent, and abstract models.
ITrees enable model animation through Isabelle's code generator.
Abstract
Model execution allows us to prototype and analyse software engineering models by stepping through their possible behaviours, using techniques like animation and simulation. On the other hand, deductive verification allows us to construct formal proofs demonstrating satisfaction of certain critical properties in support of high-assurance software engineering. To ensure coherent results between execution and proof, we need unifying semantics and automation. In this paper, we mechanise Interaction Trees (ITrees) in Isabelle/HOL to produce an execution and verification framework. ITrees are coinductive structures that allow us to encode infinite labelled transition systems, yet they are inherently executable. We use ITrees to create verification tools for stateful imperative programs, concurrent programs with message passing in the form of the CSP and \Circus languages, and abstract system…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Semantic Web and Ontologies · Distributed systems and fault tolerance
