paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts

递归结构化 Actor 契约中对接收者属性的 blame 正确支持
ICFP 8(ICFP)2024匹配度 2/10 · 该论文属于 Actor 语言契约系统与形式化验证,偏并发/语言设计与证明,虽然包含形式化和实现,但未涉及静态分析、LLM/Agentic 程序、浮点程序分析或贝叶斯程序分析等用户核心方向。引用 1 inbox
Bram Vandenbogaerde, Quentin Stiévenart, Coen De Roover
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:为 Actor 语言提出两种递归结构的新型契约,用于约束消息接收者及其通信行为,并证明 blame 分配的正确性。

Actor 语言以异步消息传递建模并发,但组件往往隐式假设其通信伙伴的行为,随着系统复杂度上升,这些假设未被满足时会导致组件难以组合与集成。本文将契约式设计(design-by-contract)引入 Actor 程序,提出两种新型契约:一种用于表达对消息期望接收者的属性约束,另一种用于约束该接收者的通信行为;由于契约具有递归结构,它们可以管辖整条通信链。作者在 Scheme 的 Actor 扩展上实现了该契约系统,对其给出形式化描述,并规定契约违反时如何分配 blame。最后,作者通过形式化并证明一个 blame 正确性定理,证明该契约系统及其 blame 分配机制是正确的。

问题
Actor 程序中组件对其通信伙伴(尤其消息接收者)的假设常以隐式方式存在,系统复杂化后这些假设不再成立,导致组件难以组合与集成,且出错时无法明确责任归属。
方法
提出两种递归结构的新型契约,分别刻画消息接收者的属性与其通信行为,从而管辖整条通信链;在 Scheme 的 Actor 扩展上实现该契约系统并给出形式化描述与 blame 分配规则。
评估
给出契约系统的实现与形式化描述,规定违反契约时的 blame 分配方式,并通过形式化与证明 blame 正确性定理来验证系统与其 blame 分配的正确性。
原文摘要(Abstract)

Actor languages model concurrency as processes that communicate through asynchronous message sends. Unfortunately, as the complexity of these systems increases, it becomes more difficult to compose and integrate their components. This is because of assumptions made by components about their communication partners which may not be upheld when they remain implicit. In this paper, we bring design-by-contract programming to actor programs through a contract system that enables expressing constraints on receiver-related properties. Expressing properties about the expected receiver of a message, and about this receiver’s communication behavior, requires two novel types of contracts. Through their recursive structure, these contracts can govern entire communication chains. We implement the contract system for an actor extension of Scheme, describe it formally, and show how to assign blame in case of a contract violation. Finally, we prove our contract system and its blame assignment correct by formulating and proving a blame correctness theorem.

链接与引用

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

BibTeX
@article{VandenbogaerdeS24,
  title = {Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts},
  author = {Bram Vandenbogaerde and Quentin Stiévenart and Coen De Roover},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {ICFP},
  year = {2024},
  doi = {10.1145/3674643}
}