We study deadlocks using geometric methods based on generalized process graphs [Dij68], i.e., cubical complexes or Higher-Dimensional
Automata (HDA) [Pra91,vG91,GJ92,Gun94], describing the semantics of the concurrent system of interest. A new algorithm is
described and fully assessed, both theoretically and practically and compared with more well-known traversing techniques.
An implementation is available, applied to a toy language. This algorithm not only computes the deadlocking states of a concurrent
system but also the so-called “unsafe region” which consists of the states which will eventually lead to a deadlocking state.
Its basis is a characterization of deadlocks using dual geometric properties of the “forbidden region”.
Work done partly while at Ecole Normale Supérieure and while visiting Aalborg University.