Selected Publications
In the following (partial) publication list, my advised students’ names appear
.Programming by Navigation
PLDI '25: Proceedings of the 46th ACM SIGPLAN International Conference on Programming Language Design and Implementation
Fast Direct Manipulation Programming with Patch-Reconciliation Correspondence
PLDI '25: Proceedings of the 46th ACM SIGPLAN International Conference on Programming Language Design and Implementation
Biology Paper
Programmable epigenome editing by transient delivery of CRISPR epigenome editor ribonucleoproteins
bioRxiv: bioRxiv
Pagebreaks: Multi-Cell Scopes in Computational Notebooks
CHI '25: Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems
Flow with FlorDB: Incremental Context Maintenance for the Machine Learning Lifecycle
CIDR '25: Conference on Innovative Data Systems Research
Equivalence by Canonicalization for Synthesis-Backed Refactoring
PLDI '24: Proceedings of the 45th ACM SIGPLAN International Conference on Programming Language Design and Implementation
Syntactic Code Search with Sequence-to-Tree Matching
PLDI '24: Proceedings of the 45th ACM SIGPLAN International Conference on Programming Language Design and Implementation
Low-Resourced Languages and Online Knowledge Repositories: A Need-Finding Study
CHI '24: Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems
How Domain Experts Use an Embedded DSL
OOPSLA '23: Proceedings of the 2023 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
Co-Designing for Transparency: Lessons from Building a Document Organization Tool in the Criminal Justice Domain
FAccT '23: Proceedings of the 2023 ACM Conference on Fairness, Accountability, and Transparency
Understanding Version Control as Material Interaction with Quickpose
CHI '23: Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems
A Need-Finding Study with Users of Geospatial Data
CHI '23: Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems
Exploring the Learnability of Program Synthesizers by Novice Programmers
UIST '22: Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology
Bolt-on, Compact, and Rapid Program Slicing for Notebooks
VLDB '22: Proceedings of the VLDB Endowment
Informing Housing Policy through Web Automation: Lessons for Designing Programming Tools for Domain Experts
CHI EA '22: Extended Abstracts of the 2022 CHI Conference on Human Factors in Computing Systems
Building a Shared Conceptual Model of Complex, Heterogeneous Data Systems: A Demonstration
CIDR '22: Conference on Innovative Data Systems Research
How Statically-Typed Functional Programmers Write Code
OOPSLA '21: Proceedings of the 2021 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
Social Science Paper
Searching for housing in the digital age: Neighborhood representation on internet rental housing platforms across space, platform and metropolitan segregation
Environment and Planning A: Economy and Space
Social Science Paper
Toward a Cross-Platform Framework: Assessing the Comprehensiveness of Online Rental Listings
Cityscape '21: Cityscape Volume 23, No. 2 (HUD Office of Policy Development and Research)
Social Science Paper
Racialized Discourse in Seattle Rental Ad Texts
Social Forces '20: Social Forces, Volume 99, Issue 4
Democratizing Web Automation: Programming for Social Scientists and Other Domain Experts
UC Berkeley PhD Dissertation 2019
Social Science Paper
Comparing Small Area Fair Market Rents With Other Rental Measures Across Diverse Housing Markets
Cityscape '19: Cityscape Volume 21, No. 3 (HUD Office of Policy Development and Research)
Tea: A High-level Language and Runtime System for Automating Statistical Analysis
UIST '19: Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology
Social Science Paper
Seattle Rental Ad Texts and Processes of Segregation
ASA '19: Proceedings of the 114th Annual Meeting of the American Sociological Association
Social Science Paper
Seattle Rental Ad Texts and Processes of Segregation: Using Craigslist to Understand Neighborhood Perception Patterns
PAA '19: Proceedings of the 88th Annual Meeting of the Population Association of America
Rousillon: Scraping Distributed Hierarchical Web Data
UIST '18: Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology
Social Science Paper
The Practices and Attitudes of Rental Property Owners/Managers in a Tight and Increasingly Regulated Housing Market
PAA '18: Proceedings of the 87th Annual Meeting of the Population Association of America
Skip Blocks: Reusing Execution History to Accelerate Web Scripts
OOPSLA '17: Proceedings of the 2017 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
Data-Driven Synthesis of Full Probabilistic Programs
CAV '17: Proceedings of the 29th International Conference on Computer Aided Verification
Ringer: Web Automation by Demonstration
OOPSLA '16: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
Using SyGuS to Synthesize Reactive Motion Plans
SYNT@CAV '16: Proceedings of the Fifth Workshop on Synthesis
Browser Record and Replay as a Building Block for End-User Web Automation Tools
WWW '15: Proceedings of the 24th International Conference on World Wide Web Companion
Dicer: A Framework for Controlled, Large-Scale Web Experiments
WWW '15: Proceedings of the 24th International Conference on World Wide Web Companion
Research.js: Evaluating Research Tool Usability on the Web
PLATEAU '14: Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools
Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
Biochemistry as a Programming Language
OBT@POPL '13: Proceedings of Off the Beaten Track (OBT/POPL)
Efficient Implementation of the Plaid Language
OOPSLA '11 SRC: Proceedings of Systems Programming Languages and Applications: Software for Humanity (SPLASH) Companion (SRC)