Affiliation:
1. University of Texas at Austin, Austin, TX, USA
Abstract
Data races indicate serious concurrency bugs such as order, atomicity, and sequential consistency violations. Races are difficult to find and fix, often manifesting only after deployment. The frequency and unpredictability of these bugs will only increase as software adds parallelism to exploit multicore hardware. Unfortunately, sound and precise race detectors slow programs by factors of eight or more and do not scale to large numbers of threads.
This paper presents a precise, low-overhead
sampling-based
data race detector called Pacer. PACER makes a
proportionality
guarantee: it detects any race at a rate equal to the sampling rate, by finding races whose first access occurs during a global sampling period. During sampling, PACER tracks all accesses using the dynamically sound and precise FastTrack algorithm. In nonsampling periods, Pacer discards sampled access information that cannot be part of a reported race,
and
Pacer simplifies tracking of the happens-before relationship, yielding near-constant, instead of linear, overheads. Experimental results confirm our theoretical guarantees. PACER reports races in proportion to the sampling rate. Its time and space overheads scale with the sampling rate, and sampling rates of 1-3% yield overheads low enough to consider in production software. The resulting system provides a "get what you pay for" approach that is suitable for identifying real, hard-to-reproduce races in deployed systems.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
36 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Accurate Static Data Race Detection for C;Lecture Notes in Computer Science;2024-09-11
2. Detecting Data Races in OpenMP with Deep Learning and Large Language Models;The 53rd International Conference on Parallel Processing Workshops;2024-08-12
3. Efficient data race detection of async-finish programs using vector clocks;Proceedings of the Thirteenth International Workshop on Programming Models and Applications for Multicores and Manycores;2022-04-02
4. Hybrid Static-Dynamic Analysis of Data Races Caused by Inconsistent Locking Discipline in Device Drivers;IEEE Transactions on Software Engineering;2022
5. ReHAna: An Efficient Program Analysis Framework to Uncover Reflective Code in Android;Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering;2022