paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Logical Analysis of Framing for Specifications with Pure Method Calls

含纯方法调用规约的框架推理逻辑分析
TOPLAS 40(2)2018匹配度 3/10 · 论文研究区域逻辑中纯方法与读效应的框架推理,属于程序验证与形式语义的基础工作,与用户关注的静态分析/形式化验证有背景关联;但完全不涉及 LLM/Agent、ML 系统、浮点程序分析或贝叶斯程序分析,未落在用户画像的核心交叉方向上。引用 7 inbox
Anindya Banerjee, David A. Naumann, Mohammad Nikouei
crossref: 2026-09-10

AI 速览

一句话:将纯方法与读效应引入区域逻辑,为模块化框架推理建立可靠证明规则并机器检验示例。

本文研究面向对象程序规约中如何用纯方法调用表达契约,并处理由此产生的逻辑难题,例如纯方法出现在自身契约中。已有工作多基于公理语义验证工具,为避免不一致并适配一阶自动证明器而设计编码。作者将纯方法与读效应加入区域逻辑(region logic):一种支持框架式局部推理的一阶程序逻辑,并给出一阶模块化推理原则。核心是一条链接模块方法实现与依赖方法契约的客户端的证明规则,从而支持端到端正确性。作者相对传统操作语义证明可靠性,读效应采用外延(关系)解释。最后通过机器检验的实例展示其对基于 SMT 求解器工具的适用性,并为模块化验证器实现链接及研究观测纯方法、封装提供基础。

问题
如何在使用纯方法调用及其读效应契约的面向对象规约中,实现基于框架条件的模块化局部推理,并避免逻辑不一致等难题。
方法
把纯方法和读效应加入区域逻辑,给出链接方法实现与客户端的模块化证明规则,并以关系式外延解释读效应;相对传统操作语义证明可靠性。
评估
通过机器检验的验证实例展示该逻辑可用于基于 SMT 求解器的工具,并检验可靠性论证。
原文摘要(Abstract)

For specifying and reasoning about object-based programs, it is often attractive for contracts to be expressed using calls to pure methods. It is useful for pure methods to have contracts, including read effects, to support local reasoning based on frame conditions. This leads to puzzles such as the use of a pure method in its own contract. These ideas have been explored in connection with verification tools based on axiomatic semantics, guided by the need to avoid logical inconsistency, and focusing on encodings that cater for first-order automated provers. This article adds pure methods and read effects to region logic, a first-order program logic that features frame-based local reasoning and provides modular reasoning principles for end-to-end correctness. Modular reasoning is embodied in a proof rule for linking a module’s method implementations with a client that relies on the method contracts. Soundness is proved with respect to conventional operational semantics and uses an extensional (i.e, relational) interpretation of read effects. Applicability to tools based on SMT solvers is demonstrated through machine-checked verification of examples. The developments in this article can guide the implementations of linking as used in modular verifiers and serve as a basis for studying observationally pure methods and encapsulation.

链接与引用

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

BibTeX
@article{paperbot323,
  title = {A Logical Analysis of Framing for Specifications with Pure Method Calls},
  author = {Anindya Banerjee and David A. Naumann and Mohammad Nikouei},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {40},
  number = {2},
  year = {2018},
  doi = {10.1145/3174801}
}