Tighter Reachability Criteria for Deadlock-Freedom Analysis

We combine a prior incomplete deadlock-freedom-checking approach with two new reachability techniques to create a more precise deadlock-freedom-checking framework for concurrent systems. The reachability techniques that we propose are based on the analysis of individual components of the system; we use static analysis to summarise the behaviour that might lead components to this system state, and we analyse this summary to assess whether components can cooperate to reach a given system state. We implement this new framework on a tool called DeadlOx. This implementation encodes the proposed deadlock-freedom analysis as a satisfiability problem that is later checker by a SAT solver. We demonstrate by a series of practical experiments that this tool is more accurate than (and as efficient as) similar incomplete techniques for deadlock-freedom analysis.

[1]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[2]  Mila E. Majster-Cederbaum,et al.  Analyzing Component-Based Systems on the Basis of Architectural Constraints , 2011, FSEN.

[3]  A. W. Roscoe,et al.  Practical Partial Order Reduction for CSP , 2015, NFM.

[4]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

[5]  A. W. Roscoe,et al.  FDR3 - A Modern Refinement Checker for CSP , 2014, TACAS.

[6]  A. W. Roscoe Understanding Concurrent Systems , 2010, Texts in Computer Science.

[7]  Florentin Ipate,et al.  A unified integration and component testing approach from deterministic stream X-machine specifications , 2015, Formal Aspects of Computing.

[8]  J. M. R. Martin,et al.  An Efficient Technique for Deadlock Analysis of Large Scale Process Networks , 1997, FME.

[9]  Naiem Dathi Deadlock and deadlock freedom , 1989 .

[10]  Augusto Sampaio,et al.  Leadership Election: An Industrial SoS Application of Compositional Deadlock Verification , 2014, NASA Formal Methods.

[11]  Augusto Sampaio,et al.  Rigorous development of component-based systems using component metadata and patterns , 2016, Formal Aspects of Computing.

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  A. W. Roscoe,et al.  The Pursuit of Deadlock freedom , 1987, Inf. Comput..

[14]  Jeremy Malcolm Randolph Martin,et al.  The design and construction of deadlock-free concurrent systems , 1996 .

[15]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[16]  Augusto Sampaio,et al.  A Refinement Based Strategy for Local Deadlock Analysis of Networks of CSP Processes , 2014, FM.

[17]  A. W. Roscoe,et al.  Efficient Deadlock-Freedom Checking Using Local Analysis and SAT Solving , 2016, IFM.

[18]  Joseph Sifakis,et al.  An Abstract Framework for Deadlock Prevention in BIP , 2013, FMOODS/FORTE.