Finding Concurrency Bugs in Java
RacerX: effective, static detection of race conditions and deadlocks