Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics