Predicting All Data Race Pairs for a Specific Schedule (extended version)
Martin Sulzmann, Kai Stadtm\"uller

TL;DR
This paper introduces an efficient method combining a linear time vector clock algorithm and a quadratic post-processing step to predict all data race pairs in a program trace, improving scalability and accuracy over previous approaches.
Contribution
It presents a novel refined vector clock algorithm and a quadratic post-processing method to comprehensively predict schedulable data race pairs, reducing false positives.
Findings
Scales to real-world program traces
Predicts all schedulable data race pairs
Reduces false positives in race detection
Abstract
We consider the problem of data race prediction where the program's behavior is represented by a trace. A trace is a sequence of program events recorded during the execution of the program. We employ the schedulable happens-before relation to characterize all pairs of events that are in a race for the schedule as manifested in the trace. Compared to the classic happens-before relation, the schedulable happens-before relations properly takes care of write-read dependencies and thus avoids false positives. The challenge is to efficiently identify all (schedulable) data race pairs. We present a refined linear time vector clock algorithm to predict many of the schedulable data race pairs. We introduce a quadratic time post-processing algorithm to predict all remaining data race pairs. This improves the state of the art in the area and our experiments show that our approach…
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.
Code & Models
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 · Distributed systems and fault tolerance
