Optimistic Prediction of Synchronization-Reversal Data Races
Zheng Shi, Umang Mathur, Andreas Pavlogiannis
TL;DR
This work addresses the challenge of predicting data races under nondeterministic thread scheduling by introducing OSR, an optimistic synchronization-reversal race detector. OSR computes the smallest optimistic lock-closed set $\mathsf{OLClosure}(e_1,e_2)$, uses an abstract optimistic reordering graph to test acyclicity, and achieves a quadratic-time algorithm $\widetilde{O}(\mathcal{N}^2)$ that is optimal under the Strong Exponential Time Hypothesis. Empirically, OSR reports more races than prior predictors on a large suite of Java and C/C++ benchmarks, while maintaining scalable performance comparable to linear-time methods. By expanding predictive race detection beyond synchronization-preserving reorderings, OSR enhances practical reliability for concurrent software systems and lays groundwork for broader optimistic analyses of synchronization reversals.
Abstract
Dynamic data race detection has emerged as a key technique for ensuring reliability of concurrent software in practice. However, dynamic approaches can often miss data races owing to nondeterminism in the thread scheduler. Predictive race detection techniques cater to this shortcoming by inferring alternate executions that may expose data races without re-executing the underlying program. More formally, the dynamic data race prediction problem asks, given a trace σof an execution of a concurrent program, can σbe correctly reordered to expose a data race? Existing state-of-the art techniques for data race prediction either do not scale to executions arising from real world concurrent software, or only expose a limited class of data races, such as those that can be exposed without reversing the order of synchronization operations. In general, exposing data races by reasoning about synchronization reversals is an intractable problem. In this work, we identify a class of data races, called Optimistic Sync(hronization)-Reversal races that can be detected in a tractable manner and often include non-trivial data races that cannot be exposed by prior tractable techniques. We also propose a sound algorithm OSR for detecting all optimistic sync-reversal data races in overall quadratic time, and show that the algorithm is optimal by establishing a matching lower bound. Our experiments demonstrate the effectiveness of OSR on our extensive suite of benchmarks, OSR reports the largest number of data races, and scales well to large execution traces.
