pith. machine review for the scientific record. sign in

arxiv: 2604.11369 · v1 · submitted 2026-04-13 · 💻 cs.PL

Recognition: unknown

Fast Atomicity Monitoring

Authors on Pith no claims yet

Pith reviewed 2026-05-10 16:19 UTC · model grok-4.3

classification 💻 cs.PL
keywords atomicityconflict serializabilitydynamic analysisconcurrency monitoringstreaming algorithmruntime verification
0
0 comments X

The pith

AtomSanitizer tests conflict serializability in O(nk²) time with minimal locking for concurrent use.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper introduces AtomSanitizer as a streaming algorithm to check whether program executions respect atomicity via conflict serializability. Earlier algorithms required cubic time in the thread count or involved extra factors for variables and locks, while this one reduces the bound to quadratic, uses less memory, and processes the trace in one pass. The improvement matters because atomicity violations underlie many concurrency errors, and lower overhead makes it feasible to monitor them on the fly rather than only in post-hoc analysis. If the claims hold, the method can sit inside existing race detectors without substantial slowdown.

Core claim

AtomSanitizer is the first algorithm for testing conflict serializability that achieves O(nk²) time complexity, operates in an efficient streaming style, has a smaller memory footprint, and incurs minimal locking when used in concurrent monitoring. It is faster in practice than RegionTrack and Aerodrome on benchmarks and adds little overhead when integrated into TSAN for runtime monitoring.

What carries the argument

AtomSanitizer, a single-pass streaming procedure that tracks conflict relations and lock ordering across events to decide serializability.

If this is right

  • The algorithm can run inside a concurrent monitor with only minimal added locking.
  • It improves on the O(nk³) bound of RegionTrack and the O(nk(k+v+ℓ)) bound of Aerodrome.
  • Integration into TSAN incurs little extra time and space cost beyond the existing data-race engine.
  • It is always faster than prior conflict-serializability testers on standard benchmarks.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • The quadratic bound could make atomicity checking practical for larger thread counts where cubic methods previously timed out.
  • The streaming design may adapt to other ordering properties that require tracking lock and conflict relations.
  • Minimal locking suggests the technique could be combined with other lightweight dynamic analyses without introducing new contention points.

Load-bearing premise

The input trace can be processed in one streaming pass while correctly maintaining conflict and lock-order information without extra synchronization beyond the minimal locking claimed.

What would settle it

A trace on which AtomSanitizer reports serializability but an exhaustive check shows a conflict-serializability violation, or a family of traces where its observed running time exceeds quadratic in k.

Figures

Figures reproduced from arXiv: 2604.11369 by Andreas Pavlogiannis, H\"unkar Can Tun, Yifan Dong.

Figure 1
Figure 1. Figure 1: An atomicity violation bug in MySQL 4.1.2 release, taken from [ [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
Figure 2
Figure 2. Figure 2: A non-serial trace that is conflict-serializable. [PITH_FULL_IMAGE:figures/full_fig_p006_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: Two non-conflict-serializable traces. 3.1 Serializability Conditions Transaction-happens-before. Given a trace 𝜎, the transaction-happens-before relation < THB 𝜎 is the smallest transitive relation over the transactions of 𝜎 with the property that, for any two distinct transactions 𝑇1 and 𝑇2, if there exist 𝑒1 ∈ 𝑇1 and 𝑒2 ∈ 𝑇2 such that 𝑒1 < CHB 𝜎 𝑒2, then 𝑇1 < THB 𝜎 𝑇2. Conceptually, if < THB 𝜎 is a parti… view at source ↗
Figure 4
Figure 4. Figure 4: A trace 𝜎5. Intuitively, condition (i) captures that txn(𝑒 ′ ) < THB 𝜎 txn(𝑒 ′′) by the definition of < THB 𝜎 , while conditions (ii) and (iii) imply that txn(𝑒 ′′) < THB 𝜎 txn(𝑒 ′ ). This is because (ii) states that 𝑡 ′ has learned the transaction txn(𝑒 ′′), and (iii) states that there exists a transaction 𝑇 ′ in 𝑡 ′ such that txn(𝑒 ′′) < THB 𝜎 𝑇 ′ ≤ THB 𝜎 txn(𝑒 ′ ). Thus, we have a violation as per Lemma… view at source ↗
Figure 5
Figure 5. Figure 5: A trace 𝜎6. LRT𝑡1 𝜎6 (𝑡2) = 𝑇1 via 𝑇3 of 𝑡3, but this fact is not recoverable from LRT𝑡3 𝜎6 (𝑡2), as it has progressed to 𝑇2. In order to overcome the above obstacle and regain the invariant of Eq. (1), it is natural to attempt to store some additional information in the state of the algorithm, per￾haps at the cost of impacting its running time. One key idea behind AtomSanitizer is that this invariant is, … view at source ↗
Figure 6
Figure 6. Figure 6: A trace 𝜎7 processed by AtomSanitizer. Num￾bers indicate the sequence of < CHB 𝜎7 edges processed by AtomSanitizer. Edge 5 leads to a violation report. Third, executing 𝑒17 updates DS to From𝑡2 (𝑡1) = 𝑇5 and To𝑡2 (𝑡1) = 𝑇7, cap￾turing that 𝑇5 < THB 𝜎7 [:𝑒17 ] 𝑇7. Fourth, executing 𝑒18 updates DS to From𝑡4 (𝑡2) = 𝑇4 and To𝑡4 (𝑡2) = 𝑇6, capturing that 𝑇4 < THB 𝜎7 [:𝑒18 ] 𝑇6. Note that From𝑡4 (𝑡1) is still ⊥,… view at source ↗
Figure 7
Figure 7. Figure 7: A trace 𝜎8. If LRB𝑡1 𝜎 (𝑡2) ≠ ⊥, we define the earliest local event in 𝑡1 for 𝑡2 as ELE𝑡1 𝜎 (𝑡2) = 𝑒 ′ 1 , where 𝑒 ′ 1 is the earliest event in 𝑡1 such that LRB𝑡1 𝜎 (𝑡2) < CHB 𝜎 𝑒 ′ 1 . Example. Consider the trace 𝜎8 in [PITH_FULL_IMAGE:figures/full_fig_p014_7.png] view at source ↗
Figure 8
Figure 8. Figure 8: A trace 𝜎9 with an increasing-cycle violation. Numbers indicate the order of < CHB 𝜎9 edges inferred by AtomSanitizer. Edge 3 leads to a violation report. Example. For brevity, we write From𝑖(𝑗) = 𝑒 and To𝑖(𝑗) = 𝑒 to mean that they store id(𝑒) . Consider the trace 𝜎9 in [PITH_FULL_IMAGE:figures/full_fig_p015_8.png] view at source ↗
Figure 9
Figure 9. Figure 9: In 𝜎10 (a), the transactions 𝑇3 and 𝑇4 do not have outgoing < THB 𝜎10 -orderings, and thus Algorithm 5 can process the events 𝑒10 and 𝑒11 concurrently, without acquiring a global lock, even though it has to perform a (backwards) transitive-closure to make 𝑡3 and 𝑡4 aware of 𝑇1. In contrast, in 𝜎11 (b), 𝑇3 has an outgoing ordering (marked in red), making Algorithm 5 acquire a global lock when processing 𝑒11… view at source ↗
Figure 10
Figure 10. Figure 10: Scalability comparison of AtomSanitizer vs Aerodrome, Velodrome and RegionTrack, on families of traces where AtomSanitizer exhibits its worst case complexity of Θ(𝑛𝑘2 ). Results. The results are shown in [PITH_FULL_IMAGE:figures/full_fig_p029_10.png] view at source ↗
Figure 11
Figure 11. Figure 11: A family of traces (𝜎𝑗)𝑗 for the scalability experiment with Velodrome. maintain the imprecise happens-before relations. With this technique, the ICD phase does not record the last write or read event of each memory location. This allows it to process each event faster, while maintaining a conflict graph that overapproximates < THB 𝜎 . If a cycle is detected in this graph, DoubleChecker runs Velodrome fro… view at source ↗
Figure 12
Figure 12. Figure 12: A family of traces (𝜎𝑗)𝑗 for the scalability experiment with Velodrome. Proc. ACM Program. Lang., Vol. 10, No. PLDI, Article 170. Publication date: June 2026 [PITH_FULL_IMAGE:figures/full_fig_p032_12.png] view at source ↗
Figure 13
Figure 13. Figure 13: A family of traces (𝜎𝑗)𝑗 for the scalability experiment with Velodrome. Proc. ACM Program. Lang., Vol. 10, No. PLDI, Article 170. Publication date: June 2026 [PITH_FULL_IMAGE:figures/full_fig_p033_13.png] view at source ↗
Figure 14
Figure 14. Figure 14: A conflict-serializability violation missed by the original optimized version of [PITH_FULL_IMAGE:figures/full_fig_p034_14.png] view at source ↗
read the original 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 $O(nk^3)$ and $O(nk(k + v + \ell))$, respectively, for a trace $\sigma$ of $n$ events, $k$ threads, $v$ locations, and $\ell$ locks. In this paper we introduce \textsc{AtomSanitizer}, a new algorithm for testing conflict serializability, with time complexity $O(nk^2)$. \textsc{AtomSanitizer} operates in an efficient streaming style, is theoretically faster than all existing algorithms, and also has a smaller memory footprint. Moreover, \textsc{AtomSanitizer} is the first algorithm designed to incur minimal locking when deployed in a concurrent monitoring setting. Experiments on standard benchmarks indicate that \textsc{AtomSanitizer} is always faster in practice than all existing conflict-serializability testers. Finally, we also implement \textsc{AtomSanitizer} inside the TSAN framework, for monitoring atomicity in real time. Our experiments reveal that \textsc{AtomSanitizer} incurs minimal time and space overhead compared to 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.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

3 major / 1 minor

Summary. The paper introduces AtomSanitizer, a streaming algorithm for testing conflict serializability of program traces. It claims an O(nk²) time complexity (n events, k threads), improving on RegionTrack's O(nk³) and Aerodrome's O(nk(k+v+ℓ)), along with a smaller memory footprint, minimal locking for concurrent monitoring, faster practical performance on benchmarks, and low-overhead integration into TSAN for real-time atomicity monitoring.

Significance. If the O(nk²) bound and streaming correctness hold, this would be a useful efficiency advance for dynamic atomicity analysis, particularly by addressing concurrent-monitor deployment via minimal locking and demonstrating viability inside TSAN. The experimental claims of consistent speedups and low overhead, if substantiated, would strengthen the case for practical adoption.

major comments (3)
  1. [§4 (Algorithm)] The abstract and algorithm section state that AtomSanitizer processes the trace in a single streaming pass while maintaining conflict and lock-order information for O(nk²) total time, but no per-event update accounting or invariant is supplied showing that state size and update cost remain O(k²) independent of v and ℓ. This assumption is load-bearing for both the complexity claim and the minimal-locking guarantee.
  2. [§5 (Correctness)] No proof sketch, reduction to graph-theoretic serializability, or argument is given that every conflict-serializability violation is detected without revisiting prior events or extra synchronization on monitor state. The skeptic note correctly identifies this single-pass maintenance as the central unverified point.
  3. [§6 (Experiments)] Table 1 and the experimental section report that AtomSanitizer is 'always faster' and incurs 'minimal overhead' versus TSAN's data-race engine, yet no benchmark list, measurement methodology, or raw timing data is provided, so the practical-superiority claim cannot be evaluated.
minor comments (1)
  1. [Abstract] The abstract introduces v and ℓ without defining them on first use, although they are standard in the cited prior work.

Simulated Author's Rebuttal

3 responses · 0 unresolved

We thank the referee for the constructive feedback. We address each major comment below.

read point-by-point responses
  1. Referee: [§4 (Algorithm)] The abstract and algorithm section state that AtomSanitizer processes the trace in a single streaming pass while maintaining conflict and lock-order information for O(nk²) total time, but no per-event update accounting or invariant is supplied showing that state size and update cost remain O(k²) independent of v and ℓ. This assumption is load-bearing for both the complexity claim and the minimal-locking guarantee.

    Authors: We agree that an explicit per-event accounting and invariant would clarify the O(k²) bound. Section 4 describes maintenance of k×k conflict and lock-order matrices with O(k) work per event (via thread-indexed updates), yielding the claimed total complexity independent of v and ℓ. To address the concern, the revision will add a dedicated paragraph with the state invariant and amortized cost analysis, which also underpins the minimal-locking property for concurrent deployment. revision: yes

  2. Referee: [§5 (Correctness)] No proof sketch, reduction to graph-theoretic serializability, or argument is given that every conflict-serializability violation is detected without revisiting prior events or extra synchronization on monitor state. The skeptic note correctly identifies this single-pass maintenance as the central unverified point.

    Authors: We acknowledge the lack of a proof sketch in the submitted version. The algorithm maintains an implicit conflict graph through the streaming state updates and detects violations exactly when a cycle appears, without revisiting events. The revision will insert a proof sketch in §5 that reduces to the standard serializability graph, shows that all necessary edges are preserved in the O(k²) state, and argues that concurrent access requires only the minimal locks already described. revision: yes

  3. Referee: [§6 (Experiments)] Table 1 and the experimental section report that AtomSanitizer is 'always faster' and incurs 'minimal overhead' versus TSAN's data-race engine, yet no benchmark list, measurement methodology, or raw timing data is provided, so the practical-superiority claim cannot be evaluated.

    Authors: The experiments reuse the standard benchmark suite from prior atomicity papers, with methodology consisting of repeated wall-clock timings on a fixed multi-core platform. We agree that the presentation is insufficient for independent evaluation. The revision will expand §6 with the explicit benchmark list, full methodology description, and an appendix containing raw timing data. revision: yes

Circularity Check

0 steps flagged

No circularity: AtomSanitizer complexity derived from new streaming algorithm design

full rationale

The paper presents AtomSanitizer as a novel streaming algorithm for conflict serializability with O(nk²) time, based on efficient per-event maintenance of conflicts and lock orders using thread-pair structures. No self-definitional steps, fitted parameters renamed as predictions, or load-bearing self-citations appear in the abstract or described derivation. The complexity bound follows directly from the algorithmic structure (single-pass updates independent of v and ℓ), and the minimal-locking concurrent deployment is a stated design property, not reduced to prior inputs by construction. The result is self-contained against standard graph modeling of serializability.

Axiom & Free-Parameter Ledger

0 free parameters · 1 axioms · 0 invented entities

The algorithm relies on standard definitions of conflict serializability and trace semantics from prior concurrency literature; no new free parameters, ad-hoc axioms, or invented entities are introduced in the abstract.

axioms (1)
  • domain assumption Conflict serializability is an appropriate specification for atomicity in the targeted programs.
    The paper instantiates atomicity checking as conflict serializability without further justification in the abstract.

pith-pipeline@v0.9.0 · 5638 in / 1232 out tokens · 49530 ms · 2026-05-10T16:19:41.998091+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

55 extracted references · 44 canonical work pages

  1. [1]

    Parosh Aziz Abdulla, Samuel Grahn, Bengt Jonsson, Shankaranarayanan Krishna, and Om Swostik Mishra. 2025. Efficient Linearizability Monitoring.Proc. ACM Program. Lang.9, PLDI, Article 225 (June 2025), 24 pages. doi:10.1145/ 3729328

  2. [2]

    Rajeev Alur, Ken McMillan, and Doron Peled. 2000. Model-Checking of Correctness Conditions for Concurrent Objects. Information and Computation160, 1 (2000), 167–188. doi:10.1006/inco.1999.2847

  3. [3]

    2008.Atomicity violation leading to crash in MySQL 6.0.7

    Shane Bester. 2008.Atomicity violation leading to crash in MySQL 6.0.7. https://bugs.mysql.com/bug.php?id=38816

  4. [4]

    Ranadeep Biswas and Constantin Enea. 2019. On the Complexity of Checking Transactional Consistency.Proceedings of the ACM on Programming Languages3, OOPSLA (Oct. 2019), 165:1–165:28. doi:10.1145/3360591

  5. [5]

    Swarnendu Biswas, Jipeng Huang, Aritra Sengupta, and Michael D. Bond. 2014. DoubleChecker: Efficient Sound and Precise Atomicity Checking. InProceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation(Edinburgh, United Kingdom)(PLDI ’14). Association for Computing Machinery, New York, NY, USA, 28–39. doi:10.1145/259429...

  6. [6]

    Blackburn, Robin Garner, Chris Hoffmann, Asjad M

    Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khang, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanović, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. 2006. The DaCapo bench...

  7. [7]

    SIGPLAN Not

    Michael D. Bond, Milind Kulkarni, Man Cao, Minjia Zhang, Meisam Fathi Salmi, Swarnendu Biswas, Aritra Sengupta, and Jipeng Huang. 2013. OCTET: capturing and controlling cross-thread dependences efficiently.SIGPLAN Not.48, 10 (Oct. 2013), 693–712. doi:10.1145/2544173.2509519

  8. [8]

    Bond and Kathryn S

    Michael D. Bond and Kathryn S. McKinley. 2006. Bell: bit-encoding online memory leak detection.SIGPLAN Not.41, 11 (Oct. 2006), 61–72. doi:10.1145/1168918.1168866

  9. [9]

    Donaldson, John Wickerson, and Manuel Rigger

    Jack Clark, Alastair F. Donaldson, John Wickerson, and Manuel Rigger. 2024. Validating Database System Isolation Level Implementations with Version Certificate Recovery. InProceedings of the Nineteenth European Conference on Computer Systems (EuroSys ’24). Association for Computing Machinery, New York, NY, USA, 754–768. doi:10.1145/ 3627703.3650080

  10. [10]

    2008.Atomicity violation leading to crash in MySQL 5.4.3

    Jeremy Cole. 2008.Atomicity violation leading to crash in MySQL 5.4.3. https://bugs.mysql.com/bug.php?id=38883

  11. [11]

    Michael Emmi and Constantin Enea. 2017. Sound, complete, and tractable linearizability monitoring for concurrent collections.Proc. ACM Program. Lang.2, POPL, Article 25 (Dec. 2017), 27 pages. doi:10.1145/3158113

  12. [12]

    Madhusudan

    Azadeh Farzan and P. Madhusudan. 2008. Monitoring Atomicity in Concurrent Programs. InComputer Aided Verification, Aarti Gupta and Sharad Malik (Eds.). Springer, Berlin, Heidelberg, 52–65. doi:10.1007/978-3-540-70545-1_8

  13. [13]

    Cormac Flanagan and Stephen N Freund. 2004. Atomizer: a dynamic atomicity checker for multithreaded programs. SIGPLAN Not.39, 1 (Jan. 2004), 256–267. doi:10.1145/982962.964023

  14. [14]

    Cormac Flanagan and Stephen N. Freund. 2009. FastTrack: Efficient and Precise Dynamic Race Detection. InProceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation(Dublin, Ireland)(PLDI ’09). Association for Computing Machinery, New York, NY, USA, 121–133. doi:10.1145/1542476.1542490

  15. [15]

    Freund, Marina Lifshin, and Shaz Qadeer

    Cormac Flanagan, Stephen N. Freund, Marina Lifshin, and Shaz Qadeer. 2008. Types for atomicity: Static checking and inference for Java.ACM Trans. Program. Lang. Syst.30, 4, Article 20 (Aug. 2008), 53 pages. doi:10.1145/1377492.1377495

  16. [16]

    Freund, and Jaeheon Yi

    Cormac Flanagan, Stephen N. Freund, and Jaeheon Yi. 2008. Velodrome: A Sound and Complete Dynamic Atomicity Checker for Multithreaded Programs. InProceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation(Tucson, AZ, USA)(PLDI ’08). Association for Computing Machinery, New York, NY, USA, 293–303. doi:10.1145/1375581.1375618

  17. [17]

    Cormac Flanagan and Shaz Qadeer. 2003. A type and effect system for atomicity.SIGPLAN Not.38, 5 (May 2003), 338–349. doi:10.1145/780822.781169

  18. [18]

    2004.Atomicity violation leading to crash in MySQL 4.1.2

    Jocelyn Fournier. 2004.Atomicity violation leading to crash in MySQL 4.1.2. https://bugs.mysql.com/bug.php?id=3596

  19. [19]

    Gibbons, John L

    Phillip B. Gibbons, John L. Bruno, and Steven Phillips. 2002. Black-Box Correctness Tests for Basic Parallel Data Structures.Theory of Computing Systems35, 4 (Aug. 2002), 391–432. doi:10.1007/s00224-002-1046-6

  20. [20]

    Hamed Gorjiara, Guoqing Harry Xu, and Brian Demsky. 2022. Yashme: detecting persistency races. InProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (Lausanne, Switzerland)(ASPLOS ’22). Association for Computing Machinery, New York, NY, USA, 830–845. doi:10. 1145/3503222.3507766

  21. [21]

    Monika Henzinger, Sebastian Krinninger, Danupon Nanongkai, and Thatchaphol Saranurak. 2015. Unifying and Strengthening Hardness for Dynamic Problems via the Online Matrix-Vector Multiplication Conjecture. InProceedings of the Forty-Seventh Annual ACM Symposium on Theory of Computing (STOC ’15). Association for Computing Machinery, New York, NY, USA, 21–30...

  22. [22]

    Rucha Kulkarni, Umang Mathur, and Andreas Pavlogiannis. 2021. Dynamic Data-Race Detection Through the Fine- Grained Lens. InDROPS-IDN/v2/Document/10.4230/LIPIcs.CONCUR.2021.16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.CONCUR.2021.16

  23. [23]

    Zheng Han Lee and Umang Mathur. 2025. Efficient Decrease-and-Conquer Linearizability Monitoring.Proc. ACM Program. Lang.9, OOPSLA2, Article 345 (Oct. 2025), 28 pages. doi:10.1145/3763123

  24. [24]

    Donaldson

    Christopher Lidbury and Alastair F. Donaldson. 2017. Dynamic race detection for C++11. InProceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages(Paris, France)(POPL ’17). Association for Computing Machinery, New York, NY, USA, 443–457. doi:10.1145/3009837.3009857

  25. [25]

    Richard J. Lipton. 1975. Reduction: a method of proving properties of parallel programs.Commun. ACM18, 12 (Dec. 1975), 717–721. doi:10.1145/361227.361234

  26. [26]

    Shan Lu, Soyeon Park, Eunsoo Seo, and Yuanyuan Zhou. 2008. Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. InProceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems(Seattle, WA, USA)(ASPLOS XIII). Association for Computing Machinery, New York, NY...

  27. [27]

    Shan Lu, Joseph Tucek, Feng Qin, and Yuanyuan Zhou. 2006. AVIO: detecting atomicity violations via access interleaving invariants. InProceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems(San Jose, California, USA)(ASPLOS XII). Association for Computing Machinery, New York, NY, USA, 37–48....

  28. [28]

    Xiaoxue Ma, Shangru Wu, Ernest Pobee, Xiupei Mei, Hao Zhang, Bo Jiang, and Wing-Kwong Chan. 2021. RegionTrack: A Trace-Based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable Traces. ACM Transactions on Software Engineering and Methodology30, 1 (Dec. 2021), 7:1–7:49. doi:10.1145/3412377

  29. [29]

    Umang Mathur. 2024. Rapid: Dynamic Analysis for Concurrent Programs. https://github.com/focs-lab/rapid. Accessed: 2024-12-03

  30. [30]

    Umang Mathur, Andreas Pavlogiannis, Hünkar Can Tunç, and Mahesh Viswanathan. 2022. A Tree Clock Data Structure for Causal Orderings in Concurrent Executions. InProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems(Lausanne, Switzerland)(ASPLOS ’22). Association for Computing Machinery...

  31. [31]

    Umang Mathur, Andreas Pavlogiannis, and Mahesh Viswanathan. 2020. The Complexity of Dynamic Data Race Prediction. InProceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science. ACM, Saarbrücken Germany, 713–727. doi:10.1145/3373718.3394783

  32. [32]

    Umang Mathur and Mahesh Viswanathan. 2020. Atomicity Checking in Linear Time Using Vector Clocks. InProceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems(Lausanne, Switzerland)(ASPLOS ’20). Association for Computing Machinery, New York, NY, USA, 183–199. doi:10.1145/3373376.3378475

  33. [33]

    Umang Mathur and Mahesh Viswanathan. 2020. Atomicity Checking in Linear Time using Vector Clocks V3. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’20). ACM, 183–199. https://arxiv.org/abs/2001.04961

  34. [34]

    A WDIT: An Optimal Weak Database Isolation Tester

    Lasse Møldrup and Andreas Pavlogiannis. 2025. AWDIT: An Optimal Weak Database Isolation Tester.Artifact for "A WDIT: An Optimal Weak Database Isolation Tester"9, PLDI (June 2025), 209:1540–209:1564. doi:10.1145/3742465

  35. [35]

    Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar, and Iulian Neamtiu

  36. [36]

    InProceedings of the 8th USENIX Conference on Operating Systems Design and Implementation(San Diego, California)(OSDI’08)

    Finding and Reproducing Heisenbugs in Concurrent Programs. InProceedings of the 8th USENIX Conference on Operating Systems Design and Implementation(San Diego, California)(OSDI’08). USENIX Association, USA, 267–280. doi:10.5555/1855741.1855760

  37. [37]

    Papadimitriou

    Christos H. Papadimitriou. 1979. The Serializability of Concurrent Database Updates.J. ACM26, 4 (Oct. 1979), 631–653. doi:10.1145/322154.322158

  38. [38]

    Chang-Seo Park and Koushik Sen. 2008. Randomized active atomicity violation detection in concurrent programs. In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering(Atlanta, Georgia) (SIGSOFT ’08/FSE-16). Association for Computing Machinery, New York, NY, USA, 135–145. doi:10.1145/1453101.1453121

  39. [39]

    Soyeon Park, Shan Lu, and Yuanyuan Zhou. 2009. CTrigger: exposing atomicity violation bugs from their hiding places. InProceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems(Washington, DC, USA)(ASPLOS XIV). Association for Computing Machinery, New York, NY, USA, 25–36. doi:10.1145/1508244.1508249

  40. [40]

    Andreas Pavlogiannis. 2020. Fast, Sound, and Effectively Complete Dynamic Race Prediction.Proc. ACM Program. Lang.4, POPL, Article 17 (2020), 29 pages. doi:10.1145/3371085

  41. [41]

    Jake Roemer, Kaan Genç, and Michael D. Bond. 2020. SmartTrack: Efficient Predictive Race Detection. InProceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). Association for Computing Machinery, New York, NY, USA, 747–762. doi:10.1145/3385412.3385993 Proc. ACM Program. Lang., Vol. 10, No. PLDI, Article...

  42. [42]

    Malavika Samak and Murali Krishna Ramanathan. 2015. Synthesizing tests for detecting atomicity violations. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering(Bergamo, Italy)(ESEC/FSE 2015). Association for Computing Machinery, New York, NY, USA, 131–142. doi:10.1145/2786805.2786874

  43. [43]

    Amit Sasturkar, Rahul Agarwal, Liqiang Wang, and Scott D. Stoller. 2005. Automated type-based analysis of data races and atomicity. InProceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming(Chicago, IL, USA)(PPoPP ’05). Association for Computing Machinery, New York, NY, USA, 83–94. doi:10.1145/1065944.1065956

  44. [44]

    Konstantin Serebryany and Timur Iskhodzhanov. 2009. ThreadSanitizer: Data Race Detection in Practice. InProceedings of the Workshop on Binary Instrumentation and Applications(New York, New York, USA)(WBIA ’09). Association for Computing Machinery, New York, NY, USA, 62–71. doi:10.1145/1791194.1791203

  45. [45]

    L. A. Smith, J. M. Bull, and J. Obdrzálek. 2001. A parallel java grande benchmark suite. InProceedings of the 2001 ACM/IEEE Conference on Supercomputing(Denver, Colorado)(SC ’01). Association for Computing Machinery, New York, NY, USA, 8. doi:10.1145/582034.582042

  46. [46]

    Madhusudan

    Francesco Sorrentino, Azadeh Farzan, and P. Madhusudan. 2010. PENELOPE: weaving threads to expose atomicity violations. InProceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engi- neering(Santa Fe, New Mexico, USA)(FSE ’10). Association for Computing Machinery, New York, NY, USA, 37–46. doi:10.1145/1882291.1882300

  47. [47]

    Hünkar Can Tunç, Ameya Prashant Deshmukh, Berk Cirisci, Constantin Enea, and Andreas Pavlogiannis. 2024. CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis. InProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3(La Jolla, CA, USA)(ASPLOS ’24...

  48. [48]

    Hünkar Can Tunç, Umang Mathur, Andreas Pavlogiannis, and Mahesh Viswanathan. 2023. Sound Dynamic Deadlock Prediction in Linear Time.Proc. ACM Program. Lang.7, PLDI, Article 177 (jun 2023), 26 pages. doi:10.1145/3591291

  49. [49]

    2026.Fast Atomicity Monitoring

    Hünkar Can Tunç, Yifan Dong, and Andreas Pavlogiannis. 2026.Fast Atomicity Monitoring. doi:10.5281/zenodo.19051631

  50. [50]

    Christoph von Praun and Thomas R. Gross. 2003. Static conflict analysis for multi-threaded object-oriented programs. SIGPLAN Not.38, 5 (May 2003), 115–128. doi:10.1145/780822.781145 Proc. ACM Program. Lang., Vol. 10, No. PLDI, Article 170. Publication date: June 2026. Fast Atomicity Monitoring 170:25 A Proofs of Section 3 Lemma 3.2.A trace 𝜎 is not confli...

  51. [51]

    ,t 1 𝑚 and t2 1,

    The matrix 𝑀 is simulated by2 𝑚 threadst1 1, . . . ,t 1 𝑚 and t2 1, . . . ,t 2 𝑚, where threadt𝑗 𝑖 executes a transaction𝑇 𝑗 𝑖 . Each𝑇 1 𝑖 starts with a writew(𝑥 𝑖 ), while each𝑇 2 𝑖 starts with a sequence of reads r(𝑥 𝑗 ) for all 𝑗 such that 𝑀[𝑖, 𝑗]= 1. Note that this implies that 𝑇 1 𝑗 <CHB 𝜎 𝑇 2 𝑖 . These events execute in the beginning of 𝜎, so that a...

  52. [52]

    Note that this implies 𝑇 𝑢 𝑖 <THB 𝜎 𝑇 1 𝑗 iff 𝑢𝑖 [𝑗]= 1

    For each pair of vectors (𝑢𝑖, 𝑣𝑖 ), we start two threadst𝑢 𝑖 andt𝑣 𝑖 , executing the transactions𝑇 𝑢 𝑖 and 𝑇 𝑣 𝑖 , respectively.𝑇 𝑢 𝑖 executes a single write eventw(𝑦𝑖 ), after which each transaction 𝑇 1 𝑗 executes a read event r(𝑦𝑖 ) iff 𝑢𝑖 [𝑗]= 1. Note that this implies 𝑇 𝑢 𝑖 <THB 𝜎 𝑇 1 𝑗 iff 𝑢𝑖 [𝑗]= 1. Afterwards, each transaction 𝑇 2 𝑗 executes a read...

  53. [53]

    ,w(𝑥 𝑖𝑚 )

    In the first segment,t1 opens a transaction𝑇1, and executes in sequencew(𝑥 𝑖1),w(𝑥 𝑖2), . . . ,w(𝑥 𝑖𝑚 )

  54. [54]

    In the second segment, t2 opens a transaction 𝑇2 and executes w(𝑥 ℓ ), followed byw(𝑦) , and ends by closing𝑇 2

  55. [55]

    It follows that 𝜎𝐴,ℓ is conflict serializable iff ℓ∉𝐴 ; if not, it exhibits an increasing-path violation

    In the third segment,t 1 executesw(𝑦)and ends by closing𝑇 1. It follows that 𝜎𝐴,ℓ is conflict serializable iff ℓ∉𝐴 ; if not, it exhibits an increasing-path violation. Moreover, note that𝜎 𝐴,ℓ has length𝑂(𝑛). Now assume that there exists a streaming algorithm for detecting conflict-serializability/increasing- path violations that uses <𝑛 space. Since there...