Professor (photo)
Paul G. Allen School of Computer Science & Engineering
University of Washington
My goal is to help students become great computer scientists. In research, I work toward this goal with my students in the UW PLSE research group. In education, I work toward this goal by teaching courses on programming languages and related topics.
My expertise is rooted in formal verification, especially of compilers. As my students develop their own research vision, we branch out across diverse domains. Our work remains unified by themes of making it easier to write tricky code and figuring out how to ensure such programs are correct. We rigorously prove our results while building and measuring real systems1.
🗣️ Visiting the PL and Graphics groups at Brown University to give a talk.
🗣️ Participated in Dagstuhl Seminar 26022: EGRAPHS in January 2026. Dagstuhl News.
🧰 PLDI 2025 was a huge success! Many thanks to everyone who helped me out as Program Chair!!
Please see past news for more.
Please see my students page for more.
EGRAPHS Community Advisory Board, 2022 - Present
ICFP 2026, Program Committee
PACMPL Advisory Board Member, 2026 - 2029
PLDI Steering Committee, 2026 - 2029
Please see my service page for more.
Target-Aware Implementation of Real Expressions (ASPLOS 2025)
Computational Illusion Knitting (TOG 2024)
Magic Markup: Maintaining Document-External Markup with an LLM (<Programming> 2024)
FPGA Technology Mapping Using Sketch-Guided Program Synthesis (ASPLOS 2024)
Application-level Validation of Accelerator Designs Using a Formal Software/Hardware Interface (TODAES 2024)
Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression Rewriting (UIST 2023)
Equality Saturation Theory Exploration à la Carte (OOPSLA 2023)
Exploring Self-Embedded Knitting Programs with Twine (FARM 2023)
Generate Compilers from Hardware Models! (PLARCH 2023)
Better Together: Unifying Datalog and Equality Saturation (PLDI 2023)
babble: Learning Better Abstractions with E-Graphs and Anti-Unification (POPL 2023)
Please see my publications page for more.
2025 Autumn, UW CSE 507: Computer-Aided Reasoning for Software
2024 Summer, Marktoberdorf Summer School: Analysis and Optimizations with Equality Saturation
2023 Autumn, UW CSE 507: Computer-Aided Reasoning for Software
Please see my teaching page for more.
My colleague Dan Grossman characterizes this combination of formalism and empiricism as “both Greek and graphs”.↩︎