Wed 15 Jun 2022 16:10 - 16:30 at Cockatoo - Concurrency Chair(s): Umang Mathur

Concurrent programs are notoriously hard to write correctly, as scheduling nondeterminism introduces subtle errors that are both hard to detect and to reproduce. The most common concurrency errors are \emph{(data) races}, which occur when memory-conflicting actions are executed concurrently. Consequently, considerable efforts are made towards efficient techniques for race detection. The most usual approach is \emph{dynamic race prediction}: given an observed, race-free trace $\sigma$ of a concurrent program, the task is to decide whether events of $\sigma$ can be correctly reordered to a trace $\sigma^*$ that witnesses a race hidden in $\sigma$.

In this work we introduce the notion of \emph{sync(hronization)-preserving races}. A sync-preserving race occurs in $\sigma$ when there is a witness $\sigma^*$ in which synchronization operations (e.g., acquisition and release of locks) appear in the same order as in $\sigma$. This is a broad definition that \emph{strictly subsumes} the famous notion of happens-before races. Our main results are as follows. First, we develop a sound and complete algorithm for predicting sync-preserving races. For moderate values of parameters like the number of threads, the algorithm runs in $\widetilde{O}(\mathcal{N})$ time and space, where $\mathcal{N}$ is the length of the trace $\sigma$. Second, we show that the problem has a $\Omega(\mathcal{N}/\log^2 \mathcal{N})$ space lower bound, and thus our algorithm is essentially \emph{time and space optimal}. Third, we show that predicting races with \emph{even just a single} reversal of two sync operations is $\mathsf{NP}$-complete and even $\mathsf{W}[1]$-hard when parameterized by the number of threads. Thus, sync-preservation characterizes \emph{exactly} the tractability boundary of race prediction, and our algorithm is nearly \emph{optimal} for the tractable side. Our experiments show that our algorithm is fast in practice, while sync-preservation characterizes races often missed by state-of-the-art methods.

Wed 15 Jun

Displayed time zone: Pacific Time (US & Canada) change

15:30 - 16:50
ConcurrencySIGPLAN Track at Cockatoo
Chair(s): Umang Mathur National University of Singapore
15:30
20m
Talk
(PLDI 2020) Inductive Sequentialization of Asynchronous Programs
SIGPLAN Track
Constantin Enea Ecole Polytechnique / LIX / CNRS, Thomas A. Henzinger IST Austria, Austria, Bernhard Kragl IST Austria, Suha Orhun Mutluergil IRIF, France / University Paris Diderot, France / CNRS, France, Shaz Qadeer Novi, USA
15:50
20m
Talk
(PLDI 2021) When Threads Meet Events: Efficient and Precise Static Race Detection with Origins
SIGPLAN Track
Bozhen Liu Texas A&M University, USA, Peiming Liu Texas A&M University, Yanze Li University of British Columbia, Chia-Che Tsai Texas A&M University, Dilma Da Silva Texas A&M, Jeff Huang Texas A&M University
16:10
20m
Talk
(POPL 2021) Optimal Prediction of Synchronization-Preserving Races
SIGPLAN Track
Umang Mathur National University of Singapore, Andreas Pavlogiannis Aarhus University, Mahesh Viswanathan University of Illinois at Urbana-Champaign
16:30
20m
Talk
(POPL 2022) Visibility Reasoning for Concurrent Snapshot Algorithms
SIGPLAN Track
Joakim Öhman IMDEA Software Institute; Universidad Politécnica de Madrid, Aleksandar Nanevski IMDEA Software Institute