Maple: a coverage-driven testing tool for multithreaded programs
RacerX: effective, static detection of race conditions and deadlocks