What Happens - After the First Race? Enhancing the Predictive Power of Happens - Before Based Dynamic Race Detection

08/01/2018
by   Umang Mathur, et al.
0

Dynamic race detection is the problem of determining if an observed program execution reveals the presence of a data race in a program. The classical approach to solving this problem is to detect if there is a pair of conflicting memory accesses that are unordered by Lamport's happens-before (HB) relation. HB based race detection is known to not report false positives, i.e., it is sound. However, the soundness guarantee of HB only promises that the first pair of unordered, conflicting events is a schedulable data race. That is, there can be pairs of HB-unordered conflicting data accesses that are not schedulable races because there is no reordering of the events of the execution, where the events in race can be executed immediately after each other. We introduce a new partial order, called schedulable happens-before (SHB) that exactly characterizes the pairs of schedulable data races --- every pair of conflicting data accesses that are identified by SHB can be scheduled, and every HB-race that can be scheduled is identified by SHB. Thus, the SHB partial order is truly sound. We present a linear time, vector clock algorithm to detect schedulable races using SHB. Our experiments demonstrate the value of our algorithm for dynamic race detection --- SHB incurs only little performance overhead and can scale to executions from real-world software applications without compromising soundness.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/07/2019

Predicting All Data Race Pairs for a Specific Schedule (extended version)

We consider the problem of data race prediction where the program's beha...
research
07/19/2023

Cross-thread critical sections and efficient dynamic race prediction methods

The lock set method and the partial order method are two main approaches...
research
06/08/2022

Comparative Analysis of Dynamic Data Race Detection Techniques

The consequences of data races can be potentially very problematic [1], ...
research
10/28/2019

Ready, set, Go! Data-race detection and the Go language

Data races are often discussed in the context of lock acquisition and re...
research
11/24/2021

Predictive Data Race Detection for GPUs

The high degree of parallelism and relatively complicated synchronizatio...
research
04/15/2020

Efficient, Near Complete and Often Sound Hybrid Dynamic Data Race Prediction (extended version)

Dynamic data race prediction aims to identify races based on a single pr...
research
07/19/2019

Online Set-Based Dynamic Analysis for Sound Predictive Race Detection

Predictive data race detectors find data races that exist in executions ...

Please sign up or login with your details

Forgot password? Click here to reset