Joshua Sunshine
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.