“…Data races are difficult to avoid, find, fix, and eliminate [1, 7, 13, 18-23, 37, 38, 41, 43, 44, 49-51]. Programmers often introduce data races intentionally for performance [9,10,28,29]. Data races and their erroneous effects are thus ubiquitous, even in mature software systems.…”