Static Trace-Based Deadlock Analysis for Synchronous Mini-Go
  We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the communication behavior of a program. Starting from a simple criterion that characterizes traces of deadlock-free programs, we develop automata-based methods to check for deadlock-freedom. The approach is implemented and evaluated with a series of examples. 
Kai Stadtm\"uller and Martin Sulzmann and Peter Thiemann
cs.PL