Abstract We present a framework for statically de-tecting deadlocks in a concurrent object-oriented lan-guage with asynchronous method calls and cooperative scheduling of method activations. Since this language features recursion and dynamic resource creation, dead-lock detection is extremely complex and state-of-the-art solutions either give imprecise answers or do not scale. In order to augment precision and scalability we propose a modular framework that allows several tech-niques to be combined. The basic component of the framework is a front-end inference algorithm that ex-tracts abstract behavioral descriptions of methods, called contracts, which retain resource dependency informa-tion. This component is integrated with a number of po...