Hyper Hoare Logic: (Dis-)Proving Program Hyperproperties
Thibault Dardinier, Peter Müller
摘要
Hoare logics are proof systems that allowone to formally establish properties of computer programs. Traditional Hoare logics prove properties of individual program executions (such as functional correctness). Hoare logic has been generalized to prove also properties of multiple executions of a program (so-called hyperproperties, such as determinism or non-interference). These program logics prove the absence of (bad combinations of) executions. On the other hand, program logics similar to Hoare logic have been proposed to disprove program properties (e.g., Incorrectness Logic), by proving the existence of (bad combinations of) executions. All of these logics have in common that they specify program properties using assertions over a fixed number of states, for instance, a single pre- and post-state for functional properties or pairs of pre- and post-states for non-interference. In this paper, we present Hyper Hoare Logic, a generalization of Hoare logic that lifts assertions to properties of arbitrary sets of states. The resulting logic is simple yet expressive: its judgments can express arbitrary program hyperproperties , a particular class of hyperproperties over the set of terminating executions of a program (including properties of individual program executions). By allowing assertions to reason about sets of states, Hyper Hoare Logic can reason about both the absence and the existence of (combinations of) executions, and, thereby, supports both proving and disproving program (hyper-)properties within the same logic, including (hyper-)properties that no existing Hoare logic can express. We prove that Hyper Hoare Logic is sound and complete, and demonstrate that it captures important proof principles naturally. All our technical results have been proved in Isabelle/HOL.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper20
- Outcome Logic: A Unifying Foundation for Correctness and Incorrectness ReasoningNoam Zilberstein, Derek Dreyer, Alexandra SilvaOOPSLA 2023 · 被引用 39 次
- Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational EffectsNoam Zilberstein, Angelina Saliling, Alexandra SilvaOOPSLA 2024 · 被引用 16 次
- Mechanised Hypersafety Proofs about Structured DataVladimir Gladshtein, Qiyuan Zhao, Willow Ahrens, Saman P. Amarasinghe 等PLDI 2024 · 被引用 10 次
- Hypra: A Deductive Program Verifier for Hyper Hoare LogicThibault Dardinier, Anqi Li, Peter MüllerOOPSLA 2024 · 被引用 6 次
- Coinductive Proofs for Temporal HyperlivenessArthur Correnson, Bernd FinkbeinerPOPL 2025 · 被引用 5 次
它引用的顶会 Paper13
- Incorrectness logicPeter W. O'HearnPOPL 2020 · 被引用 122 次
- Local Reasoning About the Presence of Bugs: Incorrectness Separation LogicAzalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer 等CAV 2020 · 被引用 70 次
- Finding real bugs in big programs with incorrectness logicQuang Loc Le, Azalea Raad, Jules Villard, Josh Berdine 等OOPSLA 2022 · 被引用 52 次
- Constraint-Based Relational VerificationHiroshi Unno, Tachio Terauchi, Eric KoskinenCAV 2021 · 被引用 47 次
- Software Verification of Hyperproperties Beyond k-SafetyRaven Beutner, Bernd FinkbeinerCAV 2022 · 被引用 44 次
相关 Paper
- Hyper Separation LogicTrayan Gospodinov, Peter Müller, Thibault DardinierPLDI 2026 · 被引用 1 次
- Proving hypersafety compositionallyEmanuele D'Osualdo, Azadeh Farzan, Derek DreyerOOPSLA 2022 · 被引用 16 次
- Encode the ∀∃ Relational Hoare Logic into Standard Hoare LogicShushu Wu, Xiwei Wu, Qinxiang CaoOOPSLA 2025 · 被引用 1 次
- Calculational Design of [In]Correctness Transformational Program Logics by Abstract InterpretationPatrick CousotPOPL 2024 · 被引用 11 次
- Revealing Sources of (Memory) Errors via Backward AnalysisFlavio Ascari, Roberto Bruni, Roberta Gori, Francesco LogozzoOOPSLA 2025 · 被引用 4 次
