Abstract
This work develops a type of local analysis that can prove concurrent systems deadlock free. As opposed to examining the overall behaviour of a system, local analysis consists of examining the behaviour of small parts of the system to yield a given property. We analyse pairs of interacting components to approximate system reachability and propose a new sound but incomplete/approximate framework that checks deadlock and local-deadlock freedom. By replacing exact reachability by this approximation, it looks for deadlock (or local-deadlock) candidates, namely, blocked (locally-blocked) system states that lie within our approximation. This characterisation improves on the precision of current approximate techniques. In particular, it can tackle non-hereditary deadlock-free systems, namely, deadlock-free systems that have a deadlocking subsystem. These are neglected by most approximate techniques. Furthermore, we demonstrate how SAT checkers can be used to efficiently implement our framework, which, typically, scales better than current techniques for deadlock-freedom analysis. This is demonstrated by a series of practical experiments.
Highlights
Automatic verification techniques, such as model checking, have been severely hindered by the state space explosion problem [BK08]
We show that some interaction mechanisms commonly implemented by concurrent systems give rise to local invariants that ensure deadlock and local-deadlock freedom
The framework that we propose here applies to systems regardless of whether they conform to a pattern or not but they do not provide any clear guide as to how to create a deadlock-free system
Summary
Automatic verification techniques, such as model checking, have been severely hindered by the state space explosion problem [BK08]. We propose a technique to approximate reachability and we analyse the deadlock-freedom and local-deadlock-freedom verification framework it gives rise to, in particular, its precision and scalability. This work proposes the notion of subsystem reachability as a device to implement local analysis and capture local invariants It over-approximates system reachability by showing that some system states are not reachable because the components in some subsystem cannot cooperate to reach them. 2. We point out that we have studied a number of ways to effectively combine the sort of local-analysis-based approximations presented in this work with techniques deriving global invariants [AGRR16b, AGRR17a, AGRR17b] and intend to cover these in sequels to this paper.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have