A Type System for Unstructured Locking that Guarantees Deadlock Freedom   without Imposing a Lock Ordering
  Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking primitives, and locks which are implicitly associated with references. The proposed type system does not impose a strict lock acquisition order and thus increases programming language expressiveness. 
Prodromos Gerakios (National Technical University of Athens), Nikolaos   Papaspyrou (National Technical University of Athens...
cs.PL cs.DC