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

Read more

Summary

Introduction

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.

Related work
Background
Approximate reachability using local analysis
Pair: 2-reachability for deadlock and local-deadlock freedom
Precision of Pair
Complexity of Pair
Pair-candidate detection via SAT solving
Practical evaluation
PairPicking
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call