paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Message Chains for Distributed System Verification

用于分布式系统验证的消息链
OOPSLA 7(OOPSLA2)2023匹配度 2/10 · 论文研究异步分布式系统的形式化验证与消息链技术,属于程序验证领域,但未涉及用户核心关注的 LLM/Agent 与静态分析/形式化验证交叉、浮点程序分析或贝叶斯程序分析,因此匹配度很低。引用 7 inbox
Federico Mora, Ankush Desai, Elizabeth Polgreen, Sanjit A. Seshia
crossref: 2026-09-10

AI 速览

一句话:提出基于消息链的自动簿记方法,在消息传递抽象层简化异步分布式系统的验证。

异步分布式程序的验证十分困难,因为消息交错与故障会产生大量控制路径,难以推理。本文提出一种基于消息链的自动簿记方法。消息链能够揭示异步分布式系统执行中的结构,帮助程序员在消息传递这一抽象层次上验证系统。作者为 P 编程语言构建了集成消息链的验证原型,并用它验证了 16 个来自相关工作的基准、1 个体现其方法所关注系统类型的新基准以及 2 个工业基准。实验表明,消息链能够简化现有证明,且原型在运行时间上与现有工作相当。作者还将工作扩展到支持规约挖掘,发现消息链提供了足够结构,使现有学习与程序合成工具仅凭执行样例即可自动推断出有意义的规约。

问题
异步分布式程序由于消息交错和故障导致控制路径数量庞大,难以进行形式化验证。
方法
提出消息链作为自动簿记机制来揭示异步分布式执行的结构,并在 P 语言中实现集成消息链的验证原型,还扩展支持规约挖掘。
评估
在 16 个已有基准、1 个新基准和 2 个工业基准上验证,结果显示消息链能简化现有证明且运行时间与已有工作相当;规约挖掘实验表明消息链能让现有学习与合成工具从执行样例中自动推断有意义的规约。
原文摘要(Abstract)

Verification of asynchronous distributed programs is challenging due to the need to reason about numerous control paths resulting from the myriad interleaving of messages and failures. In this paper, we propose an automated bookkeeping method based on message chains. Message chains reveal structure in asynchronous distributed system executions and can help programmers verify their systems at the message passing level of abstraction. To evaluate our contributions empirically we build a verification prototype for the P programming language that integrates message chains. We use it to verify 16 benchmarks from related work, one new benchmark that exemplifies the kinds of systems our method focuses on, and two industrial benchmarks. We find that message chains are able to simplify existing proofs and our prototype performs comparably to existing work in terms of runtime. We extend our work with support for specification mining and find that message chains provide enough structure to allow existing learning and program synthesis tools to automatically infer meaningful specifications using only execution examples.

链接与引用

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

BibTeX
@article{paperbot1830,
  title = {Message Chains for Distributed System Verification},
  author = {Federico Mora and Ankush Desai and Elizabeth Polgreen and Sanjit A. Seshia},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {OOPSLA2},
  year = {2023},
  doi = {10.1145/3622876}
}