English
Related papers

Related papers: Caviar: An E-graph Based TRS for Automatic Code Op…

200 papers

An e-graph efficiently represents a congruence relation over many expressions. Although they were originally developed in the late 1970s for use in automated theorem provers, a more recent technique known as equality saturation repurposes…

Programming Languages · Computer Science 2021-01-08 Max Willsey , Chandrakana Nandi , Yisu Remy Wang , Oliver Flatt , Zachary Tatlock , Pavel Panchekha

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…

Programming Languages · Computer Science 2021-08-25 Chandrakana Nandi , Max Willsey , Amy Zhu , Yisu Remy Wang , Brett Saiki , Adam Anderson , Adriana Schulz , Dan Grossman , Zachary Tatlock

The use of rewriting-based visual formalisms is on the rise. In the formal methods community, this is due also to the introduction of adhesive categories, where most properties of classical approaches to graph transformation, such as those…

Logic in Computer Science · Computer Science 2025-05-28 Roberto Biondo , Davide Castelnovo , Fabio Gadducci

Modern equality saturation systems excel at expression-level rewrites by exploring large spaces of equivalent programs without suffering from the phase-ordering problem. How- ever, these systems struggle to represent equivalence directly…

Programming Languages · Computer Science 2026-05-28 Guillermo Garcia

Our objective is to formally verify the correctness of the hundreds of expression optimization rules used within the GraalVM compiler. When defining the semantics of a programming language, expressions naturally form abstract syntax trees,…

Programming Languages · Computer Science 2022-12-15 Brae J. Webb , Ian J. Hayes , Mark Utting

Recent algorithmic advances have made equality saturation an appealing approach to program optimization because it avoids the phase-ordering problem. Existing work uses external equality saturation libraries, or custom implementations that…

Programming Languages · Computer Science 2026-02-19 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Compilers are indispensable for transforming code written in high-level languages into performant machine code, but their general-purpose optimizations sometimes fall short. Domain experts might be aware of certain optimizations that the…

Programming Languages · Computer Science 2025-07-15 Jules Merckx , Tim Besard , Bjorn De Sutter

Optimizing a stateful dataflow language is a challenging task. There are strict correctness constraints for preserving properties expected by downstream consumers, a large space of possible optimizations, and complex analyses that must…

Programming Languages · Computer Science 2023-06-21 Shadaj Laddad , Conor Power , Tyler Hou , Alvin Cheung , Joseph M. Hellerstein

Equality saturation, a technique for program optimisation and reasoning, has gained attention due to the resurgence of equality graphs (e-graphs). E-graphs represent equivalence classes of terms under rewrite rules, enabling simultaneous…

Logic in Computer Science · Computer Science 2025-05-05 Aleksei Tiurin , Dan R. Ghica , Nick Hu

One of the major optimizations employed in deep learning frameworks is graph rewriting. Production frameworks rely on heuristics to decide if rewrite rules should be applied and in which order. Prior research has shown that one can discover…

Artificial Intelligence · Computer Science 2021-03-18 Yichen Yang , Phitchaya Mangpo Phothilimtha , Yisu Remy Wang , Max Willsey , Sudip Roy , Jacques Pienaar

With recent algorithmic improvements and easy-to-use libraries, equality saturation is being picked up for hardware design, program synthesis, theorem proving, program optimization, and more. Existing work on using equality saturation for…

Programming Languages · Computer Science 2025-05-16 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Regular expressions are pervasive in modern systems. Many real-world regular expressions are inefficient, sometimes to the extent that they are vulnerable to complexity-based attacks, and while much research has focused on detecting…

Programming Languages · Computer Science 2022-09-30 Jedidiah McClurg , Miles Claver , Jackson Garner , Jake Vossen , Jordan Schmerge , Mehmet E. Belviranli

E-graphs are a data structure for equational reasoning and optimization over ground terms. One of the benefits of e-graph rewriting is that it can declaratively handle useful but difficult to orient identities like associativity and…

Programming Languages · Computer Science 2025-04-22 Philip Zucker

Equality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses are pessimistic and therefore typically imprecise when…

Programming Languages · Computer Science 2026-04-17 Russel Arbore , Alvin Cheung , Max Willsey

Graph rewriting is a popular tool for the optimisation and modification of graph expressions in domains such as compilers, machine learning and quantum computing. The underlying data structures are often port graphs - graphs with labels at…

Data Structures and Algorithms · Computer Science 2025-03-27 Luca Mondada , Pablo Andrés-Martínez

High-level synthesis (HLS) is a process that automatically translates a software program in a high-level language into a low-level hardware description. However, the hardware designs produced by HLS tools still suffer from a significant…

Programming Languages · Computer Science 2023-08-16 Jianyi Cheng , Samuel Coward , Lorenzo Chelini , Rafael Barbalho , Theo Drane

Recently, many techniques have been introduced that allow the (automated) classification of the runtime complexity of term rewrite systems (TRSs for short). In earlier work, the authors have shown that for confluent TRSs, innermost…

Computational Complexity · Computer Science 2011-06-09 Martin Avanzini , Georg Moser

Rewrite systems [6, 10, 12] have been widely employing equality saturation [9], which is an optimisation methodology that uses a saturated e-graph to represent all possible sequences of rewrite simultaneously, and then extracts the optimal…

Artificial Intelligence · Computer Science 2023-04-21 Guoliang He , Zak Singh , Eiko Yoneki

A recent paper by Drewes, Hoffmann, and Minas (GCM 2023 proceedings) has shown that certain graph languages can be defined and efficiently recognized by finite automata when strings over typed symbols are interpreted as graphs. This…

Formal Languages and Automata Theory · Computer Science 2025-03-27 Mattia De Rosa , Mark Minas

Compiler optimizations, usually expressed as rewrites on program graphs, are a core part of all modern compilers. However, even production compilers have bugs, and these bugs are difficult to detect and resolve. The problem only becomes…

Programming Languages · Computer Science 2014-07-31 William Mansky , Dennis Griffith , Elsa L. Gunter
‹ Prev 1 2 3 10 Next ›