I am very interested in how program synthesis can change how programmers interact with computers. I believe tools can automate many programming tasks, allowing programmers to spend less time on tedious aspects of code, and more time on implementing core algorithms.
Optician - Synthesizing data synchronization transformations from regular expression specifications and input output examples.
Blue-Pencil - Synthesizing repetitive document edits from observing user interactions with that document.
Synthesizing Lenses - Thesis Paper
Confluence in Lens Synthesis - IWC 2020 Paper
Program Synthesis Through Reinforcement Learning Guided Tree Search - Arxiv Paper
Expanding the Power of Lens Synthesis - BX 2019 Slides
Awards and Grants
PLDI distinguished paper Award, 2020
ACM SIGPLAN PAC Award, 2019
ACM SIGPLAN PAC Award, 2018
First Place ICFP Student Research Competition, 2017
ACM SIGPLAN PAC award, 2017
OOPSLA 2020 Artifact Evaluation Committee
BX 2019 Program Committee
ESOP 2019 External Reviewer
TOPLAS 2017 External Reviewer
PLDI 2017 Artifact Evaluation Committee
8/28/20 - I passed my thesis defense.
6/1/20 - Confluence in Lens Synthesis was accepted into IWC 2020.
5/13/20 - Data-Driven Inference of Representation Invariants got a distinguished paper award.
2/21/20 - Data-Driven Inference of Representation Invariants was conditionally accepted into PLDI 2020.
7/1/19 - On the Fly Synthesis of Code Edit Suggestions was conditionally accepted into OOPSLA 2019.
To make planning easier, I keep my schedule publicly available here.