The paper presents Hyper Hoare Logic, a generalization of Hoare logic that can reason about arbitrary program hyperproperties. Key insights:
Hyper-triples use hyper-assertions, which are properties of sets of states, rather than individual states. This allows expressing both over-approximate properties (e.g., absence of bad executions) and under-approximate properties (e.g., existence of bad executions).
The logic supports reasoning about hyperproperties that relate any (potentially unbounded or even infinite) number of program executions, including properties that existing Hoare logics cannot express, such as violations of generalized non-interference.
The authors prove that Hyper Hoare Logic is sound and complete with respect to the semantics of hyper-triples. They also derive additional rules to enable concise proofs in common cases.
Hyper Hoare Logic offers compositionality rules to combine hyper-triples with different types of hyperproperties, facilitating modular proofs.
The paper demonstrates the expressiveness of Hyper Hoare Logic on various examples, including properties that no existing Hoare logic can handle.
Egy másik nyelvre
a forrásanyagból
arxiv.org
Mélyebb kérdések