Skip to Main content Skip to Navigation
Journal articles

Proving Partial-Correctness and Invariance Properties of Transition-System Models

Abstract : We propose an approach for proving partial-correctness and invariance properties of transition systems, and illustrate it on a model of a security hypervisor. Regarding partial correctness, we generalise the recently introduced formalism of Reachability Logic, currently used as a language-parametric logic for programs, to transition systems. We propose a coinductive proof system for the resulting logic, which can be seen as performing an “infinite symbolic execution” of the transition-system model under verification. We embed the proof system in the Coq proof assistant and formally prove its soundness and completeness. The soundness result provides us with a Coq-certified Reachability-Logic prover for transition-system models. The completeness result, although more theoretical in nature, also has a practical value, as it suggests a proof strategy that is able to deal with all valid formulas on a given transition system. The complete proof strategy reduces partial correctness to invariance. For the latter we propose an incremental verification technique for dealing with the case-explosion problem that is known to affect it. All these combined techniques were instrumental in enabling us to prove, within reasonable time and effort limits, that the nontrivial algorithm implemented in a simple hypervisor that we designed in earlier work meets its expected functional requirements.
Complete list of metadata

Cited literature [31 references]  Display  Hide  Download

https://hal.inria.fr/hal-01962912
Contributor : Pal Dream <>
Submitted on : Thursday, August 22, 2019 - 5:46:16 PM
Last modification on : Wednesday, April 7, 2021 - 2:30:33 PM

File

revision.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Vlad Rusu, Gilles Grimaud, Michaël Hauspie. Proving Partial-Correctness and Invariance Properties of Transition-System Models. Science of Computer Programming, Elsevier, 2020, 186, ⟨10.1016/j.scico.2019.102342⟩. ⟨hal-01962912v2⟩

Share

Metrics

Record views

189

Files downloads

846