Discovering and correcting a deadlock in a channel implementation

Gavin Lowe · Formal Aspects of Computing · 2019

Abstract 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.

Read the paper · More papers on PaperTik