Philip Guo
My main research interests are in computer science education and in building tools to improve the productivity of research programmers -- scientists, data analysts, and other computational researchers who write programs to make discoveries (rather than to build software). My Ph.D. dissertation was one of the first to identify common problems faced by this already-large and fast-growing population of nonprofessional programmers and to present tools to alleviate some of those problems.
I received my Ph.D. in Computer Science from Stanford in 2012 and my M.Eng. and S.B. in Electrical Engineering and Computer Science from MIT in 2006.
Here is a partial list of my first-author papers:
Google Publications
-
Online Python Tutor: Embeddable Web-Based Program Visualization for CS Education
Proceedings of the ACM Technical Symposium on Computer Science Education (SIGCSE), ACM (2013) (to appear)
-
CDE: A Tool For Creating Portable Experimental Software Packages
Computing in Science & Engineering, vol. 14 (2012), pp. 32-35
Previous Publications
-
Burrito: Wrapping Your Lab Notebook in Computational Infrastructure
Philip Guo, Margo Seltzer
Proceedings of the USENIX Workshop on the Theory and Practice of Provenance (TaPP), USENIX (2012)
-
"Not My Bug!" and Other Reasons for Software Bug Report Reassignments
Philip Guo, Thomas Zimmermann, Nachiappan Nagappan, Brendan Murphy
Proceedings of the Conference on Computer Supported Cooperative Work (CSCW), ACM (2011)
-
CDE: Run Any Linux Application On-Demand Without Installation
Proceedings of the USENIX Large Installation System Administration Conference (LISA), USENIX (2011)
-
Proactive Wrangling: Mixed-Initiative End-User Programming of Data Transformation Scripts
Philip Guo, Sean Kandel, Joseph M. Hellerstein, Jeffrey Heer
Proceedings of the Symposium on User Interface Software and Technology (UIST), ACM (2011)
-
Sloppy Python: Using Dynamic Analysis to Automatically Add Error Tolerance to Ad-Hoc Data Processing Scripts
Proceedings of the International Workshop on Dynamic Analysis (WODA), ACM (2011)
-
Using Automatic Persistent Memoization to Facilitate Data Analysis Scripting
Philip Guo, Dawson R. Engler
Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), ACM (2011)
-
Characterizing and Predicting Which Bugs Get Fixed: An Empirical Study of Microsoft Windows
Philip Guo, Thomas Zimmermann, Nachiappan Nagappan, Brendan Murphy
Proceedings of the International Conference on Software Engineering (ICSE), IEEE (2010)
-
Linux Kernel Developer Responses to Static Analysis Bug Reports
Philip Guo, Dawson R. Engler
Proceedings of the USENIX Annual Technical Conference (short paper), USENIX (2009)
-
Dynamic Inference of Abstract Types
Philip Guo, Jeff H. Perkins, Stephen McCamant, Michael D. Ernst
Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), ACM (2006)
