One-Pagers‎ > ‎

OP6: Data Races - To Tolerate Or Not To Tolerate?

A nasty class of concurrency bugs are related to data races, i.e., when the outcome of two memory accesses can be altered by a legitimate change in the scheduling of those accesses; this usually occurs due to improper synchronization between threads or ignorance of the underlying memory model. At the same time, a large fraction (typically >60%) of races detected by tools turn out to be false positives or benign races, i.e., ones that do not have any serious consequence. There is ongoing controversy as to whether data races (even if benign) are at all acceptable in programs and systems, or whether they should be completely eliminated.

Take a clear, definite position on the question of whether data races are bugs regardless of whether they are benign or harmful. Support this position with practical and/or theoretical arguments.