paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis

CSSTs:并发执行分析中用于偏序的动态数据结构
ASPLOS Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 32024匹配度 3/10 · 该论文属于程序分析与并发动态分析中的数据结构工作,关注偏序维护的效率,与用户画像中的静态分析、LLM/Agent、浮点程序分析和贝叶斯程序分析等核心方向没有直接交集。虽然同属 PL/程序分析大领域,但并非用户当前追踪的问题。引用 7 inbox
Hünkar Can Tunç, Ameya Prashant Deshmukh, Berk Cirisci, Constantin Enea, Andreas Pavlogiannis
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 CSSTs 数据结构,以 O(log n) 维护并发执行分析中的偏序,支持插入、删除和查询。

并发程序动态分析通常根据执行轨迹维护事件间的偏序 P,其可扩展性取决于偏序维护效率。传统 Vector Clocks 在非流式分析中插入和传播一个序关系需 O(n),且不支持删除。本文提出 Collective Sparse Segment Trees(CSSTs),当偏序宽度 k 远小于轨迹规模 n 时,可在 O(log n) 时间内完成插入、删除和查询;并发轨迹的 k 通常等于线程数,远小于 n,故特别适用。实验表明,CSSTs 是当前处理多种已有动态分析的最佳数据结构。

问题
并发程序动态分析需要高效维护执行轨迹事件间的偏序关系;传统 Vector Clocks 在非流式分析中单次插入/传播代价为 O(n),且无法删除已有序关系。
方法
提出 Collective Sparse Segment Trees(CSSTs),利用偏序宽度 k 通常远小于轨迹规模 n 的特点,支持在 O(log n) 时间内插入、删除和查询偏序关系。
评估
在现有多种并发动态分析上进行实验,验证 CSSTs 是当前处理这些分析的最佳数据结构。
原文摘要(Abstract)

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 P that represents order dependencies between the events of σ. Naturally, the scalability of the analysis largely depends on maintaining P 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 O(n) time for inserting (and propagating) each new ordering in P, where n 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 P. CSSTs thrive when the width k of P is much smaller than the size n of its domain, allowing inserting, deleting, and querying for orderings in P to run in O(log n) time. For a concurrent trace, k normally equals the number of its threads, and is orders of magnitude smaller than its size n, 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.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2403-17818,
  title = {CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis},
  author = {Hünkar Can Tunç and Ameya Prashant Deshmukh and Berk Cirisci and Constantin Enea and Andreas Pavlogiannis},
  booktitle = {ASPLOS},
  year = {2024},
  doi = {10.1145/3620666.3651358}
}