Data races are the most common concurrency bugs and considerable efforts are put in ensuring data-race freedom (DRF) in software. The most popular approach is via dynamic analyses, which soundly report DRF violations by analyzing program executions. Recently, there has been a prevalent shift to predictive analysis techniques which can predict DRF violations even in unobserved program executions.
This tutorial will present the foundations of race prediction, summarise latest advances in race prediction in a concise and present avenues for systems research. State-of-the-art predictive techniques will be explained out of first principles, followed by a comparison between soundness, completeness and complexity guarantees provided in each case.
Additionally, the tutorial will explain recent advances in data structures and algorithmic paradigms such as sampling for enhancing the performance of data-race detection and prediction techniques. Next, the tutorial will delve into other common concurrency bugs, such as deadlocks and atomicity violations, and illustrate how predictive analysis can be applied for detecting such bugs. The tutorial will include a hands-on demonstration of two relevant tools, namely RAPID and M2. The tutorial will conclude with key open questions as well as potential applications of predictive techniques with the aim to inspire future research in areas relevant to systems research.
Co-located with PPoPP 2026
Date: February 1, 2026
Time: 1:45 pm to 5:40 pm (Sydney time)
Session IV (Tutorials and Workshops)
Venue:
Room Bungan
International Convention Centre Sydney
Sydney, Australia
Tools
RAPID framework for prototyping dynamic analyses for concurrent programs
GitHub (checkout branch tutorial for this tutorial)
Download from dropbox (together with example traces)
Papers
Algorithms for Race Prediction:
M2 - Fast, Sound, and Effectively Complete Dynamic Race Prediction, POPL 2020
Sync Preserving Races - Optimal Prediction of Synchronization-Preserving Races, POPL 2021
OSR races - Optimistic Prediction of Synchronization-Reversal Races, ICSE 2024
Granular Prefix races - Enhanced Data Race Prediction Through Modular Reasoning
Techniques for lowering overhead in race detection:
Complexity of Race Prediction:
Co-located with ASPLOS 2021 | Link to Tutorial page | Video
Co-located with ESEC/FSE 2022 | Link to Tutorial page