paperbot · PL 论文追踪

RSS

Modular Product Programs

TOPLAS 42(1)2019
Marco Eilers, Peter Müller, Samuel Hitz

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(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 原文 ·

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}
}