“…Many tools are designed to detect data races [7,15,42,49,50,69], atomicity violations [6,14,31,32,61,65], and other types of concurrency bugs [25,33,59,67,70]. Since concurrency-bug detection often involves monitoring many memory accesses across threads and complicated concurrency analysis, most of these tools incur large overhead.…”