An algebra of alignment for relational verification
Timos Antonopoulos, Eric Koskinen, Ton Chanh Le, Ramana Nagasamudram,, David A. Naumann, Minh Ngo

TL;DR
This paper introduces BiKAT, an extension of Kleene Algebra with Tests, providing an algebraic framework for program alignment in relational verification that enhances automation and modular reasoning.
Contribution
It presents BiKAT, a novel algebraic structure that unifies prior alignment methods and enables constructive proofs and automation in relational verification.
Findings
BiKAT subsumes existing alignment formulations.
The algebra supports constructive proofs via equational reasoning.
Existing KAT tools are applicable to BiKAT-based verification.
Abstract
Relational verification encompasses information flow security, regression verification, translation validation for compilers, and more. Effective alignment of the programs and computations to be related facilitates use of simpler relational invariants and relational procedure specs, which in turn enables automation and modular reasoning. Alignment has been explored in terms of trace pairs, deductive rules of relational Hoare logics (RHL), and several forms of product automata. This article shows how a simple extension of Kleene Algebra with Tests (KAT), called BiKAT, subsumes prior formulations, including alignment witnesses for forall-exists properties, which brings to light new RHL-style rules for such properties. Alignments can be discovered algorithmically or devised manually but, in either case, their adequacy with respect to the original programs must be proved; an explicit…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Security and Verification in Computing
