Content area

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.

Details

Title
RaceHunter Dynamic Data Race Detector
Author
Gerlits, E. A. 1   VIAFID ORCID Logo 

 Ivannikov Institute for System Programming, Russian Academy of Sciences, Moscow, Russia (GRID:grid.4886.2) (ISNI:0000 0001 2192 9124) 
Pages
467-481
Publication year
2024
Publication date
Dec 2024
Publisher
Springer Nature B.V.
ISSN
03617688
e-ISSN
16083261
Source type
Scholarly Journal
Language of publication
English
ProQuest document ID
3130547529
Copyright
© Pleiades Publishing, Ltd. 2024. ISSN 0361-7688, Programming and Computer Software, 2024, Vol. 50, No. 6, pp. 467–481. © Pleiades Publishing, Ltd., 2024. Russian Text © The Author(s), 2024, published in Trudy ISP RAN/Proc. ISP RAS, 2023, Vol. 35, No. 6.