Fast Atomicity Monitoring
Hünkar Can Tunç, Yifan Dong, Andreas Pavlogiannis
摘要
Atomicity is a fundamental abstraction in concurrency, specifying that program behavior can be understood by considering specific code blocks executing atomically. However, atomicity invariants are tricky to maintain while also optimizing for code efficiency, and atomicity violations are a common root cause of many concurrency bugs. To address this problem, several dynamic techniques have been developed for testing whether a program execution adheres to an atomicity specification, most often instantiated as conflict-serializability. The efficiency of the analysis has been targeted in various papers, with the state-of-the-art algorithms RegionTrack and Aerodrome achieving a time complexity 𝑂 (𝑛𝑘 3 ) and 𝑂 (𝑛𝑘 (𝑘 + 𝑣 + ℓ)), respectively, for a trace 𝜎 of 𝑛 events, 𝑘 threads, 𝑣 locations, and ℓ locks.
In this paper we introduce AtomSanitizer, a new algorithm for testing conflict-serializability, with time complexity 𝑂 (𝑛𝑘 2 ). AtomSanitizer operates in an efficient streaming style, is theoretically faster than all existing algorithms, and also has a smaller memory footprint. Moreover, it is the first algorithm designed to use little locking when deployed in a concurrent monitoring setting. Experiments on standard benchmarks indicate that AtomSanitizer is always faster in practice than all existing conflict-serializability testers. Finally, we also implement AtomSanitizer inside the TSAN framework, for monitoring atomicity in real time. Our experiments reveal that AtomSanitizer incurs only a marginal time and space overhead over the data-race detection engine of TSAN, and thus is the first algorithm for conflict-serializability demonstrated to be suitable for a runtime monitoring setting.
CCS Concepts: • Software and its engineering → Software verification and validation; Software testing and debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper12
- Fast, sound, and effectively complete dynamic race predictionAndreas PavlogiannisPOPL 2020 · 被引用 46 次
- SmartTrack: efficient predictive race detectionJake Roemer, Kaan Genç, Michael D. BondPLDI 2020 · 被引用 28 次
- The Complexity of Dynamic Data Race PredictionUmang Mathur, Andreas Pavlogiannis, Mahesh ViswanathanLICS 2020 · 被引用 27 次
- Atomicity Checking in Linear Time using Vector ClocksUmang Mathur, Mahesh ViswanathanASPLOS 2020 · 被引用 27 次
- Yashme: detecting persistency racesHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2022 · 被引用 18 次
相关 Paper
- Root Causing Linearizability ViolationsBerk Çirisci, Constantin Enea, Azadeh Farzan, Suha Orhun MutluergilCAV 2020 · 被引用 4 次
- C11Tester: a race detector for C/C++ atomicsWeiyu Luo, Brian DemskyASPLOS 2021 · 被引用 26 次
- Predictive Monitoring against Pattern Regular LanguagesZhendong Ang, Umang MathurPOPL 2024 · 被引用 12 次
- RangeSanitizer: Detecting Memory Errors with Efficient Range ChecksFloris Gorter, Cristiano GiuffridaUSENIX Security 2025
- CombiSan: Unifying Software Sanitizers for Comprehensive FuzzingMatteo Marini, Floris Gorter, Daniele Cono D'Elia, Cristiano GiuffridaUSENIX Security 2026
