Fri 22 Oct 2021 18:50 - 19:05 at Zurich D - Synthesis of models, tools and programs -- mirror Chair(s): Alex Potanin
Many compilers, synthesizers, and theorem provers rely on rewrite rules to simplify expressions or prove equivalences. Developing rewrite rules can be difficult: rules may be subtly incorrect, profitable rules are easy to miss, and rulesets must be rechecked or extended whenever semantics are tweaked. Large rulesets can also be challenging to apply: redundant rules slow down rule-based search and frustrate debugging.
This paper explores how equality saturation, a promising technique that uses e-graphs to \textit{apply} rewrite rules, can also be used to \textit{infer} rewrite rules. E-graphs can compactly represent the exponentially large sets of enumerated terms and potential rewrite rules. We show that equality saturation efficiently shrinks both sets, leading to faster synthesis of smaller, more general rulesets.
We prototyped these strategies in a tool dubbed Ruler. Compared to a similar tool built on CVC4, Ruler synthesizes 5.8$\times$ smaller rulesets 25$\times$ faster without compromising on proving power. In an end-to-end case study, we show Ruler-synthesized rules which perform as well as those crafted by domain experts, and addressed a longstanding issue in a popular open source tool.
Fri 22 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | Synthesis of models, tools and programsOOPSLA at Zurich D +8h Chair(s): Jonathan Aldrich Carnegie Mellon University | ||
10:50 15mTalk | Rewrite Rule Inference Using Equality SaturationVirtual OOPSLA Chandrakana Nandi Certora, inc., Max Willsey University of Washington, Amy Zhu University of Washington, Yisu Remy Wang University of Washington, Brett Saiki University of Washington, Adam Anderson University of Washington, Adriana Schulz University of Washington, Dan Grossman University of Washington, Zachary Tatlock University of Washington DOI | ||
11:05 15mTalk | Semantic Programming by Example with Pre-trained ModelsVirtual OOPSLA DOI | ||
11:20 15mTalk | One Down, 699 to Go: or, Synthesising Compositional DesugaringsVirtual OOPSLA Sándor Bartha University of Edinburgh, James Cheney University of Edinburgh; Alan Turing Institute, Vaishak Belle University of Edinburgh; Alan Turing Institute DOI | ||
11:35 15mTalk | Multi-modal Program Inference: A Marriage of Pre-trained Language Models and Component-Based SynthesisIn-Person OOPSLA Kia Rahmani Purdue University, Mohammad Raza Microsoft, Sumit Gulwani Microsoft, Vu Le Microsoft, Daniel Morris Microsoft, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ashish Tiwari Microsoft DOI Pre-print | ||
11:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |
18:50 - 20:10 | Synthesis of models, tools and programs -- mirrorOOPSLA at Zurich D Chair(s): Alex Potanin Victoria University of Wellington | ||
18:50 15mTalk | Rewrite Rule Inference Using Equality SaturationVirtual OOPSLA Chandrakana Nandi Certora, inc., Max Willsey University of Washington, Amy Zhu University of Washington, Yisu Remy Wang University of Washington, Brett Saiki University of Washington, Adam Anderson University of Washington, Adriana Schulz University of Washington, Dan Grossman University of Washington, Zachary Tatlock University of Washington DOI | ||
19:05 15mTalk | Semantic Programming by Example with Pre-trained ModelsVirtual OOPSLA DOI | ||
19:20 15mTalk | One Down, 699 to Go: or, Synthesising Compositional DesugaringsVirtual OOPSLA Sándor Bartha University of Edinburgh, James Cheney University of Edinburgh; Alan Turing Institute, Vaishak Belle University of Edinburgh; Alan Turing Institute DOI | ||
19:35 15mTalk | Multi-modal Program Inference: A Marriage of Pre-trained Language Models and Component-Based SynthesisIn-Person OOPSLA Kia Rahmani Purdue University, Mohammad Raza Microsoft, Sumit Gulwani Microsoft, Vu Le Microsoft, Daniel Morris Microsoft, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ashish Tiwari Microsoft DOI Pre-print | ||
19:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |