Structural Invariants for the Verification of Systems with Parameterized Architectures
Abstract
We consider parameterized concurrent systems consisting of a finite but unknown number of components, obtained by replicating a given set of finite state automata. Components communicate by executing atomic interactions whose participants update their states simultaneously. We introduce an interaction logic to specify both the type of interactions (e.g.\ rendez-vous, broadcast) and the topology of the system (e.g.\ pipeline, ring). The logic can be easily embedded in monadic second order logic of finitely many successors, and is therefore decidable. Proving safety properties of such a parameterized system, like deadlock freedom or mutual exclusion, requires to infer an inductive invariant that contains all reachable states of all system instances, and no unsafe state. We present a method to automatically synthesize inductive invariants directly from the formula describing the interactions, without costly fixed point iterations. We experimentally prove that this invariant is strong enough to verify safety properties of a large number of systems including textbook examples (dining philosophers, synchronization schemes), classical mutual exclusion algorithms, cache-coherence protocols and self-stabilization algorithms, for an arbitrary number of components.
Cite
@article{arxiv.2002.07672,
title = {Structural Invariants for the Verification of Systems with Parameterized Architectures},
author = {Marius Bozga and Javier Esparza and Radu Iosif and Joseph Sifakis and Christoph Welzel},
journal= {arXiv preprint arXiv:2002.07672},
year = {2021}
}
Comments
Extended version of https://doi.org/10.1007/978-3-030-45190-5_13 Necessary update of experimental results due to change after fixing a bug in the corresponding tool. arXiv admin note: text overlap with arXiv:1902.02696