- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Fall 2024 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University - High School Programming Contests 2024
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop 2024
- People
- Courses
- Research
- Undergraduate
- M Eng
- MS
- PhD
- Admissions
- Current Students
- Computer Science Graduate Office Hours
- Advising Guide for Research Students
- Business Card Policy
- Cornell Tech
- Curricular Practical Training
- A & B Exam Scheduling Guidelines
- Fellowship Opportunities
- Field of Computer Science Ph.D. Student Handbook
- Graduate TA Handbook
- Field A Exam Summary Form
- Graduate School Forms
- Instructor / TA Application
- Ph.D. Requirements
- Ph.D. Student Financial Support
- Special Committee Selection
- Travel Funding Opportunities
- Travel Reimbursement Guide
- The Outside Minor Requirement
- Diversity and Inclusion
- Graduation Information
- CS Graduate Minor
- Outreach Opportunities
- Parental Accommodation Policy
- Special Masters
- Student Spotlights
- Contact PhD Office
Abstract:
We are surrounded by compilers in disguise. Whether optimizing circuits, planning database queries, designing machine-knit garments, automating proofs, or generalizing user demonstrations, these processes all rely on transforming program-like models.
In this talk, I will share my group's experiences across several domains where the compiler mindset has led to new techniques, tools, and cross-area connections. Over more than a decade, my students have followed this overarching research theme, eventually leading to the development of "egglog", a general equality saturation (EqSat) framework for building program verifiers, synthesizers, and optimizers, now applied across many fields.
Our key observation is that many hard problems can be reduced to term rewriting: repeatedly applying simple, local "find and replace" rules to transform programs one piece at a time. However, it is challenging to find just the right sequence of rule applications that works across all inputs, typically requiring delicate, domain-specific heuristics. In this talk we will see how egglog leverages both the e-graph data structure from congruence closure algorithms as well as Datalog and query optimization techniques from databases to enable robust, complex optimizations via simple rewrite rules.
Throughout the talk, we will explore how the "everything is a compiler" worldview helped us tackle a wide range of challenges and highlight how our collaborative, cross-domain approach has led to advances in floating-point accuracy, 3D CAD modeling, rewrite rule inference, and more.
Bio:
Zachary Tatlock is a Professor in the Paul G. Allen School of Computer Science & Engineering at the University of Washington and an Amazon Scholar at AWS. He helps lead the Programming Languages and Systems Engineering (PLSE) group at UW. He earned his PhD from UC San Diego. His research explores programming languages, compilers, and verification with applications to optimizing numerical accuracy, enabling computational fabrication, and improving hardware design tools. He is a recipient of an NSF Career Award, distinguished paper awards at POPL, PLDI, and OOPSLA, a UW FACET mentorship award, and research awards from Amazon, Google, and Meta. He can juggle and solve Rubik's cubes, but not at the same time.