What Happens - After the First Race? Enhancing the Predictive Power of Happens - Before Based Dynamic Race Detection
Umang Mathur, Dileep Kini, Mahesh Viswanathan

TL;DR
This paper introduces the schedulable happens-before (SHB) relation, a new partial order that precisely identifies schedulable data races in dynamic race detection, improving accuracy over traditional HB methods.
Contribution
The paper proposes SHB, a sound partial order for detecting only schedulable data races, along with a linear-time vector clock algorithm for efficient detection.
Findings
SHB accurately characterizes schedulable data races.
The algorithm incurs minimal performance overhead.
It scales effectively to real-world applications.
Abstract
Dynamic race detection is the problem of determining if an observed program execution reveals the presence of a data race in a program. The classical approach to solving this problem is to detect if there is a pair of conflicting memory accesses that are unordered by Lamport's happens-before (HB) relation. HB based race detection is known to not report false positives, i.e., it is sound. However, the soundness guarantee of HB only promises that the first pair of unordered, conflicting events is a schedulable data race. That is, there can be pairs of HB-unordered conflicting data accesses that are not schedulable races because there is no reordering of the events of the execution, where the events in race can be executed immediately after each other. We introduce a new partial order, called schedulable happens-before (SHB) that exactly characterizes the pairs of schedulable data races…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software System Performance and Reliability · Software Engineering Research
