Dynamic Race Detection with O(1) Samples

Mosaad Al Thokair, Minjian Zhang, Umang Mathur, Mahesh Viswanathan

Research output: Contribution to journalArticlepeer-review


Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector clock updates at each event, rendering them usable only for in-house testing. In this paper, we present a sampling-based, randomized race detector that processes only constantly many events of the input trace even in the worst case. This is the first sub-linear time (i.e., running in o(n) time where n is the length of the trace) dynamic race detection algorithm; previous sampling based approaches like run in linear time (i.e., O(n)). Our algorithm is a property tester for -race detection - it is sound in that it never reports any false positive, and on traces that are far, with respect to hamming distance, from any race-free trace, the algorithm detects an -race with high probability. Our experimental evaluation of the algorithm and its comparison with state-of-the-art deterministic and sampling based race detectors shows that the algorithm does indeed have significantly low running time, and detects races quite often.

Original languageEnglish (US)
Pages (from-to)1308-1337
Number of pages30
JournalProceedings of the ACM on Programming Languages
Issue numberPOPL
StatePublished - Jan 9 2023


  • Concurrency - Shared memory
  • Dynamic program analysis
  • Happens-before race detection
  • Property testing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'Dynamic Race Detection with O(1) Samples'. Together they form a unique fingerprint.

Cite this