paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Verification Modulo Tested Library Contracts

模被测库契约的验证
PLDI 10(PLDI)2026匹配度 3/10 · 该论文属于程序验证与合约合成方向,涉及客户端程序验证和库契约推断,与形式化验证/程序分析有一定关联;但未涉及 LLM/Agent、浮点程序分析、贝叶斯程序分析,也不是将静态分析应用于 ML/Agentic 程序,因此与用户当前核心研究画像匹配有限。引用 0 inbox
Abhishek Uppar, Omar Muhammad, Sumanth Prabhu S, Deepak D'Souza, P. Madhusudan, Adithya Murali
crossref: 2026-09-10

AI 速览

一句话:提出综合库方法模块/上下文契约并用测试引擎校验的客户端验证框架,实现工具 Dualis。

本文面向使用复杂库的客户端程序验证,提出“模被测库契约的验证”问题:为客户端调用的库方法合成足以证明客户端正确的模块契约,同时要求这些契约能通过测试引擎对库实现的测试。作者还引入上下文契约,它在客户端上下文中成立,常比经典模块契约更简单、更易推断。方法采用反例引导学习框架,综合器与约束求解器及测试引擎交互,推断方法契约和客户端的归纳不变式,核心使用基于 ICE 学习的泛化 CHC 求解器。工具 Dualis 在客户端调用大型库的基准上验证了有效性。

问题
如何自动验证调用复杂库的客户端程序,并避免为整个库建立完整规约?
方法
将库方法契约的综合与测试结合,采用反例引导学习,与约束求解器和测试引擎交互,推断模块/上下文契约及客户端归纳不变式。
评估
实现工具 Dualis,并在客户端调用大型库的基准上展示其有效性。
原文摘要(Abstract)

We consider the problem of verification modulo tested library contracts as a step towards automating the verification of client programs that use complex libraries. We formulate this problem as the synthesis of modular contracts for the library methods used by the client that are adequate to prove the client correct, and that also pass the scrutiny of a testing engine that tests the library against these contracts. We also consider a new form of method contracts called contextual contracts that arise in this setting that hold in the context of the client program, and can often be simpler and easier to infer than classical modular contracts. We provide a counterexample-guided learning framework to solve this problem, in which the synthesizer interacts with a constraint solver as well as the testing engine in order to infer adequate modular/contextual method contracts and inductive invariants for the client. The main synthesis engines we use are generalizing CHC solvers that are realized using ICE learning algorithms. We realize this framework in a tool called Dualis and show its efficacy on benchmarks where clients call large libraries.

链接与引用

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

BibTeX
@article{UpparMSDMM26,
  title = {Verification Modulo Tested Library Contracts},
  author = {Abhishek Uppar and Omar Muhammad and Sumanth Prabhu S and Deepak D'Souza and P. Madhusudan and Adithya Murali},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808305}
}