LockTracer finds SSCs of RAOG and numbers them topologicaly. (root has highest component number and so on) then it makes any thread that has a lock from component A and wants to lock mutex from component B wait if and only if A<=B.