paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Modular Product Programs

模块化乘积程序
TOPLAS 42(1)2019匹配度 3/10 · 论文属于程序验证/超属性验证中的模块化乘积程序工作,兼具形式化与工具实现,但与用户核心方向(LLM/Agent 与静态分析、形式化验证的交叉,浮点程序分析、贝叶斯程序分析)无直接关联,也不涉及机器学习系统、Agentic 程序或 LLM 工具。引用 25 inbox
Marco Eilers, Peter Müller, Samuel Hitz
crossref: 2026-09-10

AI 速览

一句话:提出模块化乘积程序,将超属性验证模块化,并在 Viper 中验证信息流安全等性质。

论文关注超属性(如确定性、信息流安全)的验证。这类性质关联同一程序的多次执行,传统 relational logic 难以自动化,而 self-composition 等乘积程序构造不支持过程规格,无法模块化地由被调方性质推导调用方性质。作者提出模块化乘积程序:在过程规格中允许超属性,并给出乘积构造的一般形式化,证明其可靠且完备。该方法可表达 declassification、终止敏感等信息流安全特性,并基于 Viper 验证基础设施实现。实验表明,它能在合理时间内验证多个有挑战性的超属性示例。

问题
如何模块化地验证超属性(如确定性、信息流安全),使得过程规格可包含超属性并支持对调用进行推理。
方法
提出模块化乘积程序构造,将原程序的多次执行编码为乘积程序,并形式化证明其可靠完备,同时支持过程规格与模块化调用。
评估
在 Viper 验证基础设施上实现,并针对信息流安全与一般超属性的挑战性示例进行实验,验证耗时合理。
原文摘要(Abstract)

Many interesting program properties like determinism or information flow security are hyperproperties, that is, they relate multiple executions of the same program. Hyperproperties can be verified using relational logics, but these logics require dedicated tool support and are difficult to automate. Alternatively, constructions such as self-composition represent multiple executions of a program by one product program, thereby reducing hyperproperties of the original program to trace properties of the product. However, existing constructions do not fully support procedure specifications, for instance, to derive the determinism of a caller from the determinism of a callee, making verification non-modular. We present modular product programs, a novel kind of product program that permits hyperproperties in procedure specifications and, thus, can reason about calls modularly. We provide a general formalization of our product construction and prove it sound and complete. We demonstrate its expressiveness by applying it to information flow security with advanced features such as declassification and termination-sensitivity. Modular product programs can be verified using off-the-shelf verifiers; we have implemented our approach for both secure information flow and general hyperproperties using the Viper verification infrastructure. Our evaluation demonstrates that modular product programs can be used to prove hyperproperties for challenging examples in reasonable time.

链接与引用

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

BibTeX
@article{paperbot697,
  title = {Modular Product Programs},
  author = {Marco Eilers and Peter Müller and Samuel Hitz},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {42},
  number = {1},
  year = {2019},
  doi = {10.1145/3324783}
}