JCarder is a tool for finding potential deadlocks
in concurrent multi-threaded Java programs. It
does this by instrumenting Java byte code
dynamically (that is, it is not a tool for static
code analysis) and looking for cycles in the graph
of acquired locks.