Joshua Sunshine

Assistant Professor

Director, REUSE program

Office: TCS Hall 323

I am an Assistant Professor 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 am fortunate to work with amazing PhD students. I advise Jenna Wise (co-advised by Jonathan Aldrich), Wode “Nimo” Ni (co-advised by Ken Koedinger), Matthew Davis (co-advised by Brad Myers), Sam Estep (co-advised by Keenan Crane), and Ian McCormack (co-advised by Jonathan Aldrich) .

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 across 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 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.

selected publications

  1. UIST
    ReCode: A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example
    Wode Ni, Joshua Sunshine, Vu Le, Sumit Gulwani, and Titus Barik
    In Proc. Symposium on User Interface Software and Technology (UIST), 2021.
  2. CACM
    PL and HCI: Better Together
    Sarah E. Chasins, Elena L. Glassman, and Joshua Sunshine
    Commununications of the ACM (CACM), 2021.
  3. TOCHI
    PLIERS: A Process That Integrates User-Centered Methods into Programming Language Design
    Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L. Wise, Celeste Barnaby, Joshua Sunshine, Jonathan Aldrich, and Brad A. Myers
    ACM Transactions on Computer-Human Interaction (TOCHI), 2021.
    Penrose: From Mathematical Notation to Beautiful Diagrams
    Katherine Ye, Wode Ni, Max Krieger, Dor Ma’ayan, Jenna Wise, Jonathan Aldrich, Joshua Sunshine, and Keenan Crane
    ACM Transaction on Graphics (SIGGRAPH), 2020.
  5. CHI
    How Domain Experts Create Conceptual Diagrams and Implications for Tool Design
    Dor Ma’ayan, Wode Ni, Katherine Ye, Chinmay Kulkarni, and Joshua Sunshine
    In Proc. of the Conference on Human Factors in Computing Systems (CHI), 2020. 🏆 Best Paper Honourable Mention