Senior Research Felow
Director, Undergraduate Research Programs
Office: TCS Hall 323
I am a Senior Research Fellow in the Institute for Software Research at Carnegie Mellon University. I have broad research interests at the intersection of programming languages and human-computer interaction. I am particularly interested in better understanding of the factors that influence the usability of reusable software components.
I direct the Research Experience for Undergraduates in interdisciplinary Software Engineering (REUSE) program with Charlie Garrod and Claire Le Goues. The program provides an opportunity for a diverse cohort of undergraduates from school accross the country to spend the summer working with the world’s leading computer scientists. Students conduct research in a broad range of areas, including: collaboration and teams, computational statistics, computer architecture, diagrams and visualization, data mining and analysis, embedded systems, human-computer interaction, networking, privacy, program synthesis, program repair, programming languages, security, software architecture, societal computing, software requirements, and testing.
I completed my PhD in Software Engineering from Carnegie Mellon in December 2013. My dissertation focused on the usability of software libraries with ordering constraints (API protocols). I was advised by Jonathan Aldrich.
I graduated from Brandeis University in 2004 and worked for almost four years as a software engineer before starting graduate school. I’m married to Kira Sunshine, and we have three children, Akiva, Elisheva, and Tamir.
- OOPSLACan advanced type systems be usable? An empirical study of ownership, assets, and typestate in obsidianProceedings of the ACM on Programming Languages (OOPSLA), 2020. 🏆 Distinguished Artifact Award
- OOPSLAGradual Verification of Recursive Heap Data StructuresProceedings of the ACM on Programming Languages (OOPSLA), 2020.
- TOPLASObsidian: Typestate and Assets for Safer Blockchain ProgrammingACM Transactions on Programmming Languages and Systems (TOPLAS), 2020.
- SIGGRAPHPenrose: From Mathematical Notation to Beautiful DiagramsACM Transaction on Graphics (SIGGRAPH), 2020.
- CHIHow Domain Experts Create Conceptual Diagrams and Implications for Tool DesignIn Proc. of the Conference on Human Factors in Computing Systems (CHI), 2020. 🏆 Best Paper Honourable Mention