- Assistant Professor
- EECS at UC Berkeley
- Soda Hall, 725
- mwillsey@eecs.berkeley.edu
I’m an (incoming) Assistant Professor in EECS at UC Berkeley. I am recruiting PhD students this application cycle to start in Fall 2024. Please apply here.
My research aims to make program optimization
more robust, powerful, and accessible.
Along the way, we use techniques from programming languages,
databases, and systems.
My current focus is egg
,
a toolkit for program optimization and synthesis
powered by e-graphs and equality saturation.
We’ve applied it to some really fun domains like
improving floating point accuracy,
shrinking 3D models,
and
linear algebra optimization.
During my PhD and postdoc at the University of Washington, I worked mostly in programming languages (PLSE group). I also enjoyed collaborating with friends in molecular systems (MISL), where I worked on programming models for microfluidic chips.
News
-
In the spring, I’m teaching a seminar course CS294-260: Declarative Program Analysis and Optimization.
-
I’ve accepted an Assistant Professor position at EECS at UC Berkeley. I’ll start in 2024.
-
The second EGRAPHS workshop, EGRAPHS 2023, will take place at PLDI 2023 in Orlando!
-
Our work connecting egg to Datalog will appear at PLDI 2023.
-
Our paper unifying traditional hash joins with worst-case optimal joins will appear at SIGMOD ‘23.
-
Our POPL 2023 paper shows how to use e-graph anti-unification to learn library functions from a body of code.
-
The inaugural EGRAPHS workshop at PLDI 2022 was a big hit!
-
Our paper on inferring rewrites using equality saturation was a Distinguished Paper at OOPSLA 2021.
-
Our paper connecting e-matching to relational databases was (conditionally) accepted to POPL 2022.
-
I defended my PhD! You can find my thesis here. I’ll be staying on as a postdoc to work on
egg
and related projects. -
I wrote a post on the SIGPLAN blog about
egg
. -
Our paper applying
egg
to deep learning graph rewriting will appear at MLSys 2021. -
Our paper on
egg
will appear at POPL 2021 as a Distinguished Paper!
Check out the 5 min or 30 min video talks.
Teaching
Papers
-
Equality Saturation Theory Exploration à la Carte
OOPSLA 2023, October 2023 -
Better Together: Unifying Datalog and Equality Saturation
PLDI 2023, June 2023 -
Free Join: Unifying Worst-Case Optimal and Traditional Joins
SIGMOD 2023, January 2023 -
babble: Learning Better Abstractions with E-Graphs and Anti-Unification
POPL 2023, January 2023 -
Small Proofs from Congruence Closure
FMCAD 2022, September 2022 -
Virtualizing Existing Fluidic Programs
ACM JETC, August 2022 -
Co-Optimization of Design and Fabrication Plans for Carpentry
ACM TOG, March 2022 -
Relational E-Matching
POPL 2022, January 2022 -
Rewrite Rule Inference Using Equality Saturation
OOPSLA 2021, August 2021Distinguished Paper -
Equality Saturation for Tensor Graph Superoptimization
MLSys 2021, January 2021 -
egg
: Fast and Extensible E-graphsPOPL 2021, January 2021Distinguished Paper -
PurpleDrop: A Digital Microfluidics-based Platform for Hybrid Molecular-Electronics Applications
IEEE Micro 2020, July 2020 -
Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations
PLDI 2020, March 2020 -
Scaling Microfluidics to Complex, Dynamic Protocols
ICCAD 2019, November 2019Invited Paper -
High Density DNA Data Storage Library via Dehydration with Digital Microfluidic Retrieval
Nature Communications, April 2019 -
Puddle: A Dynamic, Error-Correcting, Full-Stack Microfluidics Platform
ASPLOS 2019, April 2019 -
DNA Data Storage and Hybrid Molecular–Electronic Computing
Proceedings of the IEEE, January 2019Invited paper -
Iterative Search for Reconfigurable Accelerator Blocks with a Compiler in the Loop
IEEE TCAD, October 2018 -
Design and Implementation of Concurrent C0
Fourth International Workshop on Linearity, June 2016 -
Design and Implementation of Concurrent C0
Senior Honors Thesis, May 2016Designated as Exemplary Thesis by the senior thesis award committee