RaceHunter Dynamic Data Race Detector

Data races represent a class of concurrency errors when two threads access a shared memory location without proper synchronization. Data races are hard to reveal and debug. This paper presents RaceHunter, a dynamic data race detection technique, which monitors executions of shared-memory concurrent programs, discovers pairs of conflicting memory accesses, and systematically checks them for data races. RaceHunter does not report false data races when the target software exploits nonstandard synchronization primitives or unknown synchronization protocols, and it can also detect data races missed by other approaches. Dynamic data race detectors can monitor continuous, e.g., real-life, program executions or they can verify relatively short program executions, e.g., organized by system tests. The latter is the primary use case scenario for RaceHunter.

Authors

Institutions

Publication Details

Journal
Programming and Computer Software
Published
2024-11-19
DOI
https://doi.org/10.1134/s0361768824700336
Citations
1
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.49
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

RaceHunter Dynamic Data Race Detector

Evgeny Anatolyevich Gerlits
1 citations
Programming and Computer Software
Parallel Computing and Optimization Techniques
0.49
article

RaceHunter Dynamic Data Race Detector

Evgeny Anatolyevich Gerlits
article en
1 citations

Abstract

Data races represent a class of concurrency errors when two threads access a shared memory location without proper synchronization. Data races are hard to reveal and debug. This paper presents RaceHunter, a dynamic data race detection technique, which monitors executions of shared-memory concurrent programs, discovers pairs of conflicting memory accesses, and systematically checks them for data races. RaceHunter does not report false data races when the target software exploits nonstandard synchronization primitives or unknown synchronization protocols, and it can also detect data races missed by other approaches. Dynamic data race detectors can monitor continuous, e.g., real-life, program executions or they can verify relatively short program executions, e.g., organized by system tests. The latter is the primary use case scenario for RaceHunter.

Programming and Computer SoftwareVol. 50(6)
Institute for System Programming (RU)
Openalex Percentile: Top 35%
Parallel Computing and Optimization Techniques
0.49
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.