Adaptively generating high quality fixes for atomicity violations
LLVM: a compilation framework for lifelong program analysis & transformation