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 students. See my advising page for details.

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. L@S
    Edgeworth: Efficient and Scalable Authoring of Visual Thinking Activities
    Wode Ni, Sam Estep, Hwei-Shin Harriman, Kenneth R. Koedinger, and Joshua Sunshine
    In Proc. of the ACM Conference on Learning @ Scale, 2024. 🏆 Best Paper Nominee
  2. ESEC/FSE
    Nanofuzz: A usable tool for automatic test generation
    Matthew Davis, Sangheon Choi, Sam Estep, Brad Myers, and Joshua Sunshine
    In Proc. of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 2023.
  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.
  4. SIGGRAPH
    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.