Dynamic Data Race Prediction
Fundamentals, Theory and Practice

Data races are arguably the most insidious amongst concurrency bugs and extensive research efforts have been dedicated to effectively detect them. Predictive race detection techniques aim to expose data races missed by traditional dynamic race detectors (such as those based on Happens-Before) by inferring data races in alternate executions of the underlying program, without re-executing it. The resulting promise of enhanced coverage in race detection has recently led to the development of many dynamic race prediction techniques.

This tutorial aims to present the foundations of race prediction in a principled manner, consolidate a decade long line of work on dynamic race prediction and discusses recent algorithmic advances that make race prediction efficient and practical. This tutorial also aims to discuss some recent results on the complexity and hardness involved in reasoning about race prediction.

The techniques we will present are useful beyond data race detection and are interesting for people from programming languages, architecture and the broader systems community.


University of Illinois at Urbana-Champaign

Aarhus University

Tutorial details

Co-located with ASPLOS 2021 | Link to ASPLOS tutorial description

Time: 11 am to 3 pm Pacific Time

Tutorial video

Past Versions

  1. Co-located with POPL 2021 | Link to Tutorial page | Video