Verification of Component-based Systems with Recursive Architectures
Marius Bozga, Radu Iosif, Joseph Sifakis

TL;DR
This paper introduces a formal verification method for parametric component-based systems with recursive architectures, utilizing a resource logic and automata-based decision procedures to verify safety properties.
Contribution
It proposes a new resource logic for specifying distributed systems with recursive structures and develops semi-algorithms for safety verification using automata-theoretic invariants.
Findings
Deciding deadlock and safety violations is generally undecidable.
Semi-algorithms based on automata can verify safety properties.
The method effectively reduces verification to satisfiability checking in WSkS logic.
Abstract
We study a sound verification method for parametric component-based systems. The method uses a resource logic, a new formal specification language for distributed systems consisting of a finite yet unbounded number of components. The logic allows the description of architecture configurations coordinating instances of a finite number of types of components, by means of inductive definitions similar to the ones used to describe algebraic data types or recursive data structures. For parametric systems specified in this logic, we show that decision problems such as reaching deadlock or violating critical section are undecidable, in general. Despite this negative result, we provide for these decision problems practical semi-algorithms relying on the automatic synthesis of structural invariants allowing the proof of general safety properties. The invariants are defined using the WSkS…
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
TopicsFormal Methods in Verification · Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies
