Proving Hypersafety Compositionally
Abstract
Hypersafety properties of arity are program properties that relate traces of a program (or, more generally, traces of 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 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.
Cite
@article{arxiv.2209.07448,
title = {Proving Hypersafety Compositionally},
author = {Emanuele D'Osualdo and Azadeh Farzan and Derek Dreyer},
journal= {arXiv preprint arXiv:2209.07448},
year = {2022}
}
Comments
44 pages. Extended version of the OOPSLA'22 paper with the same title. Includes full proofs and case studies in appendix. v2 fixes typos in a derivation