RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2023 Volume 35, Issue 6, Pages 135–156 (Mi tisp837)

RaceHunter dynamic data race detector

E. A. Gerlits

Ivannikov Institute for System Programming of the RAS

Abstract: Data races are a class of concurrency errors where 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 verifies them for data races. RaceHunter does not report false data races when the target software exploits non-standard synchronization primitives or unknown synchronization protocols and can find data races missed by other techniques. 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.

Keywords: data race, dynamic data race detection, dynamic analysis, concurrent error, concurrency error, thread synchronization, race condition, concurrent program, shared-memory program, multithreaded program, racehunter

DOI: 10.15514/ISPRAS-2023-35(6)-8



© Steklov Math. Inst. of RAS, 2024