Hatching Theory Instantiations with Yardbird
Satisfiability Modulo Theories (SMT) solvers struggle with quantifier reasoning over common data types such as arrays. Counterexample guided abstraction refinement (CEGAR) is a common technique for dealing with complex theory reasoning in software model checking by abstracting away quantified, theory specific facts and selectively reintroducing them to help guide SMT solvers to a proof. We present our work-in-progress, Yardbird, a CEGAR framework that uses egg, an off-the-shelf e-graph implementation, to find useful theory refinements for bounded model checking of array programs. We generate refinements by using theory axioms as rewrite rules in the equality saturation engine. We find theory conflicts by detecting when two e-classes should be merged, and then selecting refinement terms using a custom property-directed cost function. We evaluate our technique on 193 SV-COMP array benchmarks and compare against Z3. We show that Yardbird outperforms Z3 for 26% of benchmarks on verification time and reduces quantifier instantiations in 49% of benchmarks.
Tue 17 JunDisplayed time zone: Seoul change
10:30 - 12:00 | |||
10:30 20mTalk | eqsat: An Equality Saturation Dialect for Non-destructive Rewriting EGRAPHS Jules Merckx Ghent University, Alexandre Lopoukhine University of Cambridge, Samuel Coward Imperial College London, UK / Intel Corporation, Jianyi Cheng University of Edinburgh, UK, Bjorn De Sutter Ghent University, Belgium , Tobias Grosser University of Cambridge Pre-print Media Attached | ||
10:50 20mTalk | Hatching Theory Instantiations with Yardbird EGRAPHS Cole Vick University of Texas at Austin, Samuel Thomas The University of Texas at Austin, Texas, USA Media Attached | ||
11:10 20mTalk | Automated High-Level Synthesis Design Modularization via E-Graph Anti-Unification EGRAPHS Andy Wanna Georgia Institute of Technology, Cong "Callie" Hao Georgia Institute of Technology, Theo Drane AMD Media Attached |