JCarder is an open source tool for finding potential deadlocks in concurrent multi-threaded Java programs. It does this by instrumenting Java byte code dynamically (i.e., it is not a tool for static code analysis) and looking for cycles in the graph of acquired locks.
The only requirement is that
... [More]
the program you want to analyze can be run in an ordinary JVM (compliant with Java 5.0 or higher). There is no need to use a special JVM or build procedure. [Less]