Loading Events

CIS Seminar: ” E=Graphs for Next-Gen Programming Language Tools”

March 21, 2023 at 3:30 PM - 4:30 PM
Details
Date: March 21, 2023
Time: 3:30 PM - 4:30 PM
  • Event Tags:
  • Organizer
    Computer and Information Science
    Phone: 215-898-8560
    Venue
    Wu and Chen Auditorium (Room 101), Levine Hall 3330 Walnut Street
    Philadelphia
    PA 19104
    Google Map

    Building a state-of-the-art program optimizer, synthesizer, or verifier is still a gargantuan task for even programming language (PL) experts. Much of this challenge stems from the fact that term rewriting, a ubiquitous approach to manipulating programs, only works with one version of a program at a time. As a result, the system builder must carefully consider every program manipulation, lest they accidentally “take a wrong turn” and miss out on optimization opportunities. For non-PL-experts, these difficulties prevent application of PL techniques to domains that might otherwise greatly benefit from them.

    This talk will describe a data structure called the e-graph and a technique called equality saturation that together allow one to store and manipulate many equivalent versions of a program simultaneously. Recent advances like delayed congruence closure and lattice-based “e-class analyses”, both embodied in the egg e-graph toolkit, have made this approach fast and flexible enough for academic and industrial use in areas including deep learning, carpentry, 3D design, and floating point arithmetic. This talk will also present recent discoveries that connect equality saturation to relational databases. The result is faster, simpler, and theoretically optimal implementations of equality saturation.