Fast Atomicity Monitoring
H\"unkar Can Tun, Yifan Dong, Andreas Pavlogiannis

TL;DR
The paper introduces AtomSanitizer, a new, faster, and memory-efficient algorithm for conflict serializability testing in concurrent programs, suitable for real-time atomicity monitoring.
Contribution
AtomSanitizer is the first conflict serializability testing algorithm optimized for minimal locking and real-time monitoring, outperforming existing methods in speed and memory usage.
Findings
AtomSanitizer has a time complexity of O(nk^2), faster than previous algorithms.
It operates efficiently in streaming mode with a smaller memory footprint.
Implemented in TSAN, it incurs minimal overhead for real-time atomicity monitoring.
Abstract
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 \emph{conflict serializability}. The efficiency of the analysis has been targeted in various papers, with the state-of-the-art algorithms \textsc{RegionTrack} and \textsc{Aerodrome} achieving a time complexity and , respectively, for a trace of events, threads, locations, and locks. In this paper we introduce…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
