CTrigger: exposing atomicity violation bugs from their hiding places
Valgrind: a framework for heavyweight dynamic binary instrumentation