๐ค 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.
๐ 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.