The DOI matches its Crossref record; 10 of the 10 references it cites were found in a registry or an index.
ThreadSanitizer: data race detection in practice
Abstract
Data races are a particularly unpleasant kind of threading bugs. They are hard to find and reproduce -- you may not observe a bug during the entire testing cycle and will only see it in production as rare unexplainable failures. This paper presents ThreadSanitizer -- a dynamic detector of data races. We describe the hybrid algorithm (based on happens-before and locksets) used in the detector. We introduce what we call dynamic annotations -- a sort of race detection API that allows a user to inform the detector about any tricky synchronization in the user program. Various practical aspects of using ThreadSanitizer for testing multithreaded C++ code at Google are also discussed.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Time, clocks, and the ordering of events in a distributed system
Lamport, L. (1978) · Communications of the ACM · doi:10.1145/359545.359563 · Cited by 8,488
Pin: building customized program analysis tools with dynamic instrumentation
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V. J., & Hazelwood, K. (2005) · ACM SIGPLAN Notices · doi:10.1145/1064978.1065034 · Cited by 3,180
Pin: building customized program analysis tools with dynamic instrumentation
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V. J., & Hazelwood, K. (2005) · Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation · doi:10.1145/1065010.1065034 · Cited by 2,310
Valgrind: a framework for heavyweight dynamic binary instrumentation
Nethercote, N., & Seward, J. (2007) · Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/1250734.1250746 · Cited by 2,244
Eraser: a dynamic data race detector for multithreaded programs
Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., & Anderson, T. (1997) · ACM Transactions on Computer Systems · doi:10.1145/265924.265927 · Cited by 1,572
RacerX: effective, static detection of race conditions and deadlocks
Engler, D., & Ashcraft, K. (2003) · ACM SIGOPS Operating Systems Review · doi:10.1145/1165389.945468 · Cited by 661
Hybrid dynamic data race detection
O'Callahan, R., & Choi, J.-D. (2003) · Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming · doi:10.1145/781498.781528 · Cited by 432
RacerX: effective, static detection of race conditions and deadlocks
Engler, D., & Ashcraft, K. (2003) · Proceedings of the nineteenth ACM symposium on Operating systems principles · doi:10.1145/945445.945468 · Cited by 368
Automatically classifying benign and harmful data races using replay analysis
Narayanasamy, S., Wang, Z., Tigani, J., Edwards, A., & Calder, B. (2007) · Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/1250734.1250738 · Cited by 254
LiteRace: effective sampling for lightweight data-race detection
Marino, D., Musuvathi, M., & Narayanasamy, S. (2009) · Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/1542476.1542491 · Cited by 245
Cited by
(2021) · doi:10.1109/tse.2019.2946563 · Cited by 574
What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices
Muench, M., Stijohann, J., Kargl, F., Francillon, A., & Balzarotti, D. (2018) · Proceedings 2018 Network and Distributed System Security Symposium · doi:10.14722/ndss.2018.23166 · Cited by 219
Metadata
- Authors
- Serebryany, K., & Iskhodzhanov, T.
- Venue
- Proceedings of the Workshop on Binary Instrumentation and Applications
- Publisher
- ACM
- Published
- 2009-12-12
- Pages
- 62-71
- OpenAlex
- W2025819261
- Cited by
- 451
- References
- 10
- FWCI
- 7.60
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: ThreadSanitizer: data race detection in practice. https://app.cochat.ai/papers/10.1145/1791194.1791203
- The paper
- Serebryany, K., & Iskhodzhanov, T. (2009). ThreadSanitizer: data race detection in practice. Proceedings of the Workshop on Binary Instrumentation and Applications. https://doi.org/10.1145/1791194.1791203
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.