Simple thread semantics require race detection
Hans‐J. Boehm · 2009
Data race detectors are commonly viewed as debugging tools. We argue that if we knew how to make them both fully accurate and sufficiently fast for “always on” use, they could address an additional and much more foundational role: They would allow us to give precise, simple, and safe semantics to shared variables in multithreaded programs, a problem that has so far defied a complete solution.