paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Effectful Software Contracts

带效应的软件契约
POPL 8(POPL)2024匹配度 2/10 · 论文属于编程语言设计与形式化方法方向,研究效应处理器中的效应契约,与用户核心关注的 PL×AI、LLM/Agent 改进静态分析/形式化验证、浮点程序分析或贝叶斯程序分析均无直接关联。虽然包含理论证明与实现,但主题不在研究画像的主线或交叉点上。引用 1 inbox
Cameron Moy, Christos Dimoulas, Matthias Felleisen
crossref: 2026-09-10

AI 速览

一句话:在效应处理器语境下提出通用效应契约系统,并证明契约不会不当干扰程序执行。

软件契约让程序员描述组件的行为性质,但现有工作对如何约束效应缺乏通用原则,往往只能为不同效应给出一次性方案。本文在效应处理器(effect handlers)的语境中提出带效应的契约系统设计,使契约能够规约并检查程序的计算效应。其核心元定理表明,契约不会不当地干扰被监控程序的执行。作者实现了该设计,并通过评估展示其通用性,说明该理论足以指导实践。

问题
现有软件契约主要用于描述函数式/行为性质,对效应的约束缺少通用原则,只有针对不同效应的一次性方案。
方法
在效应处理器之上设计带效应的契约系统,并证明关键元定理:契约不会不当干预程序执行。
评估
实现该设计并评估其通用性,表明该理论能够指导实践。
原文摘要(Abstract)

Software contracts empower programmers to describe functional properties of components. When it comes to constraining effects, though, the literature offers only one-off solutions for various effects. It lacks a universal principle. This paper presents the design of an effectful contract system in the context of effect handlers. A key metatheorem shows that contracts cannot unduly interfere with a program’s execution. An implementation of this design, along with an evaluation of its generality, demonstrates that the theory can guide practice.

链接与引用

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

BibTeX
@article{paperbot2638,
  title = {Effectful Software Contracts},
  author = {Cameron Moy and Christos Dimoulas and Matthias Felleisen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {POPL},
  year = {2024},
  doi = {10.1145/3632930}
}