Philip Guo

I joined Google in 2012 to work on building innovative tools for teaching programming and computer science.

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

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

    Philip Guo

    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

    Philip Guo

    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)