Proving Hypersafety Compositionally

09/15/2022
by   Emanuele D'Osualdo, et al.
0

Hypersafety properties of arity n are program properties that relate n traces of a program (or, more generally, traces of n programs). Classic examples include determinism, idempotence, and associativity. A number of relational program logics have been introduced to target this class of properties. Their aim is to construct simpler proofs by capitalizing on structural similarities between the n related programs. We propose an unexplored, complementary proof principle that establishes hyper-triples (i.e. hypersafety judgments) as a unifying compositional building block for proofs, and we use it to develop a Logic for Hyper-triple Composition (LHC), which supports forms of proof compositionality that were not achievable in previous logics. We prove LHC sound and apply it to a number of challenging examples.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/24/2023

Hyper Hoare Logic: (Dis-)Proving Program Hyperproperties (extended version)

Hoare logics are proof systems that allow one to formally establish prop...
research
10/14/2020

Concise Outlines for a Complex Logic: A Proof Outline Checker for TaDA (Full Paper)

Modern separation logics allow one to prove rich properties of intricate...
research
07/12/2021

Incremental Vulnerability Detection with Insecurity Separation Logic

We present the first compositional, incremental static analysis for dete...
research
07/13/2021

Injecting Finiteness to Prove Completeness for Finite Linear Temporal Logic

Temporal logics over finite traces are not the same as temporal logics o...
research
08/08/2017

Proving Expected Sensitivity of Probabilistic Programs

Program sensitivity, also known as Lipschitz continuity, describes how s...
research
10/27/2017

Probabilistic Couplings for Probabilistic Reasoning

This thesis explores proofs by coupling from the perspective of formal v...
research
02/07/2020

RHLE: Automatic Verification of ∀∃-Hyperproperties

Specifications of program behavior typically consider single executions ...

Please sign up or login with your details

Forgot password? Click here to reset