RegionTrack: A Trace-based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable Traces
Xiaoxue Ma, Shangru Wu, Ernest Pobee, Xiupei Mei, Hao Zhang, Bo Jiang,, Wing-Kwong Chan

TL;DR
RegionTrack is a novel online checker that accurately detects transactional atomicity violations and non-serializable traces in multithreaded programs by precisely tracking cross-thread dependencies, outperforming existing tools in accuracy and efficiency.
Contribution
It introduces a sound and complete online technique for detecting atomicity violations by maintaining detailed happens-before relations and dynamic subregions, a first in this domain.
Findings
Precisely detected all transactional atomicity violations and non-serializable traces in benchmarks.
Lower memory and runtime overheads compared to Velodrome and Aerodrome.
Detected more violations than Velodrome and DoubleChecker, showing higher accuracy.
Abstract
Atomicity is a correctness criterion to reason about isolated code regions in a multithreaded program when they are executed concurrently. However, dynamic instances of these code regions, called transactions, may fail to behave atomically, resulting in transactional atomicity violations. Existing dynamic online atomicity checkers incur either false positives or false negatives in detecting transactions experiencing transactional atomicity violations. This paper proposes RegionTrack. RegionTrack tracks cross-thread dependences at the event, dynamic subregion, and transaction levels. It maintains both dynamic subregions within selected transactions and transactional happens-before relations through its novel timestamp propagation approach. We prove that RegionTrack is sound and complete in detecting both transactional atomicity violations and non-serializable traces. To the best of our…
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.
Taxonomy
TopicsDistributed systems and fault tolerance · Security and Verification in Computing · Parallel Computing and Optimization Techniques
