CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis
Hünkar Can Tunç, Ameya Prashant Deshmukh, Berk Çirisci, Constantin Enea, Andreas Pavlogiannis
摘要
Dynamic analyses are a standard approach to analyzing and testing concurrent programs. Such techniques observe program traces 𝜎 and analyze them to infer the presence or absence of bugs. At its core, each analysis maintains a partial order 𝑃 that represents order dependencies between the events of 𝜎 . Naturally, the scalability of the analysis largely depends on maintaining 𝑃 efficiently. The standard data structure for this task has thus far been Vector Clocks. These, however, are slow for analyses that follow a non-streaming style, costing 𝑂 (𝑛) time for inserting (and propagating) each new ordering in 𝑃, where 𝑛 is the size of 𝜎, while they cannot handle the deletion of existing orderings.
In this paper we develop Collective Sparse Segment Trees (CSSTs), a simple but elegant data structure for maintaining a partial order 𝑃. CSSTs thrive when the width 𝑘 of 𝑃 is much smaller than the size 𝑛 of its domain, allowing inserting, deleting, and querying for orderings in 𝑃 to run in 𝑂 (log 𝑛) time. For a concurrent trace, 𝑘 normally equals the number of its threads, and is orders of magnitude smaller than its size 𝑛, making CSSTs fitting for this setting. Our experiments confirm that CSSTs are the best data structure currently to handle a range of dynamic analyses from existing literature.
• Software and its engineering → Software verification and validation; • Theory of computation → Theory and algorithms for application domains; Program analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- AWDIT: An Optimal Weak Database Isolation TesterLasse Møldrup, Andreas PavlogiannisPLDI 2025 · 被引用 5 次
- The Complexity of Testing Message-Passing ConcurrencyZheng Shi, Lasse Møldrup, Umang Mathur, Andreas PavlogiannisPOPL 2026 · 被引用 2 次
- Fast Atomicity MonitoringHünkar Can Tunç, Yifan Dong, Andreas PavlogiannisPLDI 2026
它引用的顶会 Paper16
- Fast, sound, and effectively complete dynamic race predictionAndreas PavlogiannisPOPL 2020 · 被引用 46 次
- Sound and efficient concurrency bug predictionYan Cai, Hao Yun, Jinqiu Wang, Lei Qiao 等FSE 2021 · 被引用 29 次
- 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 次
相关 Paper
- A tree clock data structure for causal orderings in concurrent executionsUmang Mathur, Andreas Pavlogiannis, Hünkar Can Tunç, Mahesh ViswanathanASPLOS 2022 · 被引用 10 次
- Efficient Timestamping for Sampling-Based Race DetectionMinjian Zhang, Daniel Wee Soong Lim, Mosaad Al Thokair, Umang Mathur 等PLDI 2025 · 被引用 1 次
- Parallel and distributed bounded model checking of multi-threaded programsOmar Inverso, Catia TrubianiPPoPP 2020 · 被引用 42 次
- Detecting concurrency vulnerabilities based on partial orders of memory and thread eventsKunpeng Yu, Chenxu Wang, Yan Cai, Xiapu Luo 等FSE 2021 · 被引用 9 次
- Predictive Monitoring against Pattern Regular LanguagesZhendong Ang, Umang MathurPOPL 2024 · 被引用 12 次
