Title: Dynamic Data Race Prediction: Fundamentals and Advances
When: Tuesday, 03 January 2023 at 1900 hrs (IST)
Abstract:
Concurrent programs are notoriously hard to write correctly, as
scheduling nondeterminism introduces subtle errors that are
both hard to detect and to reproduce. Data races are arguably
the most insidious amongst concurrency bugs and extensive
research efforts have been dedicated to effectively detect
them. A data race occurs when memory-conflicting actions are
executed concurrently. Consequently, considerable effort has
been made towards developing efficient techniques for race
detection. The preferred approach to detect data races is
through dynamic analysis, where one observes an execution of a
concurrent program and checks for the presence of data races in
the execution observed. Traditional dynamic race detectors rely
on Lamport's happens-before (HB) partial order, which can be
conservative and are often unable to discover simple data
races, even after executing the program several times.
Dynamic data race prediction aims to expose data races, that
can be otherwise missed by traditional dynamic race detectors
(such as those based on HB), by inferring data races in
alternate executions of the underlying program, without
re-executing it. In this talk, I will talk about the
fundamentals of and recent algorithmic advances in data race
prediction.