KestRel: Relational Verification Using E-Graphs for Program Alignment

๐Ÿ“… 2024-04-11
๐Ÿ›๏ธ arXiv.org
๐Ÿ“ˆ Citations: 0
โœจ Influential: 0
๐Ÿ“„ PDF
๐Ÿค– AI Summary
This work addresses the challenge of automatically verifying relational program propertiesโ€”such as observational equivalence, non-interference, co-termination, monotonicity, and idempotence. We propose a semantics-aware product program construction method that eliminates manual alignment. Our approach leverages e-graphs and equality saturation to build semantically aligned intermediate representations, augmented by data-driven execution trace extraction and algebraic realignment rules. This enables fully automatic, semantics-guided alignment of source programs without human intervention. Based on this methodology, we implement KestRel, a relational verification engine. Evaluated on standard relational verification benchmarks, KestRel achieves significantly higher alignment quality and verification success rates compared to prior approaches. It efficiently generates verifiable product programs, overcoming the longstanding bottleneck of manual alignment in relational verification.

Technology Category

Application Category

๐Ÿ“ Abstract
Many interesting program properties involve the execution of multiple programs, including observational equivalence, noninterference, co-termination, monotonicity, and idempotency. One popular approach to reasoning about these sorts of relational properties is to construct and verify a product program: a program whose correctness implies that the individual programs exhibit the desired relational property. A key challenge in product program construction is finding a good alignment of the original programs. An alignment puts subparts of the original programs into correspondence so that their similarities can be exploited in order to simplify verification. We propose an approach to product program construction that uses e-graphs, equality saturation, and algebraic realignment rules to efficiently represent and build verifiable product programs. A key ingredient of our solution is a novel data-driven extraction technique that uses execution traces of product programs to identify candidate solutions that are semantically well-aligned. We have implemented a relational verification engine based on our proposed approach, called KestRel, and use it to evaluate our approach over a suite of benchmarks taken from the relational verification literature.
Problem

Research questions and friction points this paper is trying to address.

Verifies relational properties of multiple programs
Uses e-graphs for efficient program alignment
Proposes data-driven extraction for semantic alignment
Innovation

Methods, ideas, or system contributions that make the work stand out.

Uses e-graphs for program alignment
Applies algebraic realignment rules
Implements data-driven extraction technique
๐Ÿ”Ž Similar Papers
No similar papers found.
R
R. Dickerson
Purdue University, USA
P
Prasita Mukherjee
Purdue University, USA
Benjamin Delaware
Benjamin Delaware
Assistant Professor, Purdue University
Programming LanguagesFormal Methods