Discovering and correcting a deadlock in a channel implementation

We investigate the cause of a deadlock in the implementation of a channel in a message-passing concurrency API. We model the channel implementation using the process algebra CSP, and then use the model checker FDR to find the cause of the deadlock. The bug is rather subtle, and arguably infeasible to spot by hand. We then propose a straightforward fix to the bug, and use CSP and FDR to verify this fix.

[1]  Bernard Sufrin,et al.  Communicating Scala Objects , 2008, CPA.

[2]  Gavin Lowe View Abstraction for Systems with Component Identities , 2018, FM.

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

[4]  Augusto Sampaio,et al.  Model-checking CSP-Z: strategy, tool support and industrial application , 2001, Sci. Comput. Program..

[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]  David Hopkins SVA‚ a tool for analysing shared−variable programms , 2007 .

[8]  A. W. Roscoe,et al.  The Automatic Detection of Token Structures and Invariants Using SAT Checking , 2017, TACAS.

[9]  Jonathan Lawrence Practical Application of CSP and FDR to Software Design , 2004, 25 Years Communicating Sequential Processes.

[10]  Peter H. Welch,et al.  A CSP model for Java multithreading , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

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

[12]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[13]  A. W. Roscoe,et al.  Deadlock analysis in networks of communicating processes , 1989, Distributed Computing.

[14]  Gavin Lowe,et al.  Implementing Generalised Alt - A Case Study in Validated Design using CSP , 2011, CPA.

[15]  A. W. Roscoe,et al.  Tighter Reachability Criteria for Deadlock-Freedom Analysis , 2016, FM.