Inference and enforcement of data structure consistency specifications. - Brian Demsky; Michael D. Ernst; Philip J. Guo; Stephen McCamant; Jeff H. Perkins; Martin C. Rinard (ISSTA, 2006)

Dynamic inference of abstract types. - Philip J. Guo; Jeff H. Perkins; Stephen McCamant; Michael D. Ernst (ISSTA, 2006)

The Daikon system for dynamic detection of likely invariants. - Michael D. Ernst; Jeff H. Perkins; Philip J. Guo; Stephen McCamant; Carlos Pacheco; Matthew S. Tschantz; Chen Xiao (Sci. Comput. Program., 2007)

Opportunistic programming: how rapid ideation and prototyping occur in practice. - Joel Brandt; Philip J. Guo; Joel Lewenstein; Scott R. Klemmer (WEUSE@ICSE, 2008)

Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. - Joel Brandt; Philip J. Guo; Joel Lewenstein; Mira Dontcheva; Scott R. Klemmer (CHI, 2009)

Automatic creation of SQL Injection and cross-site scripting attacks. - Adam Kiezun; Philip J. Guo; Karthick Jayaraman; Michael D. Ernst (ICSE, 2009)

HAMPI: a solver for string constraints. - Adam Kiezun; Vijay Ganesh 001; Philip J. Guo; Pieter Hooimeijer; Michael D. Ernst (ISSTA, 2009)

Linux Kernel Developer Responses to Static Analysis Bug Reports. - Philip J. Guo; Dawson R. Engler (USENIX ATC, 2009)

Opportunistic Programming: Writing Code to Prototype, Ideate, and Discover. - Joel Brandt; Philip J. Guo; Joel Lewenstein; Mira Dontcheva; Scott R. Klemmer (IEEE Softw., 2009)

Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows. - Philip J. Guo; Thomas Zimmermann 001; Nachiappan Nagappan; Brendan Murphy (ICSE (1), 2010)

Towards Practical Incremental Recomputation for Scientists: An Implementation for the Python Language. - Philip J. Guo; Dawson R. Engler (TaPP, 2010)

HAMPI: A String Solver for Testing, Analysis and Vulnerability Detection. - Vijay Ganesh 001; Adam Kiezun; Shay Artzi; Philip J. Guo; Pieter Hooimeijer; Michael D. Ernst (CAV, 2011)

"Not my bug!" and other reasons for software bug report reassignments. - Philip J. Guo; Thomas Zimmermann 001; Nachiappan Nagappan; Brendan Murphy (CSCW, 2011)

Sloppy Python: using dynamic analysis to automatically add error tolerance to ad-hoc data processing scripts. - Philip J. Guo (WODA, 2011)

Using automatic persistent memoization to facilitate data analysis scripting. - Philip J. Guo; Dawson R. Engler (ISSTA, 2011)

CDE: Run Any Linux Application On-Demand Without Installation. - Philip J. Guo (LISA, 2011)

Proactive wrangling: mixed-initiative end-user programming of data transformation scripts. - Philip J. Guo; Sean Kandel; Joseph M. Hellerstein; Jeffrey Heer (UIST, 2011)

CDE: Using System Call Interposition to Automatically Create Portable Software Packages. - Philip J. Guo; Dawson R. Engler (USENIX ATC, 2011)

Characterizing and predicting which bugs get reopened. - Thomas Zimmermann 001; Nachiappan Nagappan; Philip J. Guo; Brendan Murphy (ICSE, 2012)

BURRITO: Wrapping Your Lab Notebook in Computational Infrastructure. - Philip J. Guo; Margo I. Seltzer (TaPP, 2012)

CDE: A Tool for Creating Portable Experimental Software Packages. - Philip J. Guo (Comput. Sci. Eng., 2012)

HAMPI: A solver for word equations over strings, regular expressions, and context-free grammars. - Adam Kiezun; Vijay Ganesh 001; Shay Artzi; Philip J. Guo; Pieter Hooimeijer; Michael D. Ernst (ACM Trans. Softw. Eng. Methodol., 2012)

Software tools to facilitate research programming. - Philip J. Guo (2012)

Online python tutor: embeddable web-based program visualization for cs education. - Philip J. Guo (SIGCSE, 2013)

Teaching programming the way it works outside the classroom. - Philip J. Guo (Commun. ACM, 2013)

Helping scientists, engineers to work up to 100 times faster. - Philip J. Guo (Commun. ACM, 2013)

Wait-learning: leveraging conversational dead time for second language education. - Carrie J. Cai; Philip J. Guo; James R. Glass; Robert C. Miller (CHI Extended Abstracts, 2014)

Crowdsourcing step-by-step information extraction to enhance existing how-to videos. - Juho Kim 001; Phu Tran Nguyen; Sarah A. Weir; Philip J. Guo; Robert C. Miller; Krzysztof Z. Gajos (CHI, 2014)

How video production affects student engagement: an empirical study of MOOC videos. - Philip J. Guo; Juho Kim 001; Rob Rubin (L@S, 2014)

Demographic differences in how students navigate through MOOCs. - Philip J. Guo; Katharina Reinecke (L@S, 2014)

Understanding in-video dropouts and interaction peaks inonline lecture videos. - Juho Kim 001; Philip J. Guo; Daniel T. Seaton; Piotr Mitros; Krzysztof Z. Gajos; Robert C. Miller (L@S, 2014)

Modeling programming knowledge for mentoring at scale. - Anvisha H. Pai; Philip J. Guo; Robert C. Miller (L@S, 2014)

Data-driven interaction techniques for improving navigation of educational videos. - Juho Kim 001; Philip J. Guo; Carrie J. Cai; Shang-Wen (Daniel) Li; Krzysztof Z. Gajos; Robert C. Miller (UIST, 2014)

A direct manipulation language for explaining algorithms. - Jeremy Scott; Philip J. Guo; Randall Davis (VL/HCC, 2014)

Clarifying human-computer interaction. - Philip J. Guo (Commun. ACM, 2014)

Refining students' coding and reviewing skills. - Philip J. Guo (Commun. ACM, 2014)

The difficulty of teaching programming languages, and the benefits of hands-on learning. - Mark Guzdial; Philip J. Guo (Commun. ACM, 2014)

Wait-Learning: Leveraging Wait Time for Second Language Education. - Carrie J. Cai; Philip J. Guo; James R. Glass; Robert C. Miller (CHI, 2015)

How High School, College, and Online Students Differentially Engage with an Interactive Digital Textbook. - Jeremy Warner; John Doorenbos; Bradley N. Miller; Philip J. Guo (EDM, 2015)

Snap n' shop: Visual search-based mobile shopping made a breeze by machine and crowd intelligence. - Quanzeng You; Jianbo Yuan; Jiaqi Wang 002; Philip J. Guo; Jiebo Luo 001 (ICSC, 2015)

Codeopticon: Real-Time, One-To-Many Human Tutoring for Computer Programming. - Philip J. Guo (UIST, 2015)

Perceptions of non-CS majors in intro programming: The rise of the conversational programmer. - Parmit K. Chilana; Celena Alcock; Shruti Dembla; Anson Ho; Ada Hurst; Brett Armstrong; Philip J. Guo (VL/HCC, 2015)

Codepourri: Creating visual coding tutorials using a volunteer crowd of learners. - Mitchell L. Gordon; Philip J. Guo (VL/HCC, 2015)

Codechella: Multi-user program visualizations for real-time tutoring and collaborative learning. - Philip J. Guo; Jeffery White; Renan Zanelatto (VL/HCC, 2015)

Toward a domain-specific visual discussion forum for learning computer programming: An empirical study of a popular MOOC forum. - Joyce Zhu; Jeremy Warner; Mitchell L. Gordon; Jeffery White; Renan Zanelatto; Philip J. Guo (VL/HCC, 2015)

OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale. - Elena L. Glassman; Jeremy Scott; Rishabh Singh; Philip J. Guo; Robert C. Miller (ACM Trans. Comput. Hum. Interact., 2015)

Parse that data! Practical tips for preparing your raw data for analysis. - Philip J. Guo (Perspectives on Data Science for Software Engineering, 2016)

Understanding Conversational Programmers: A Perspective from the Software Industry. - Parmit K. Chilana; Rishabh Singh; Philip J. Guo (CHI, 2016)

Paradise unplugged: identifying barriers for female participation on stack overflow. - Denae Ford; Justin Smith 001; Philip J. Guo; Chris Parnin (SIGSOFT FSE, 2016)

Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities. - Philip J. Guo (CHI, 2017)

CodePilot: Scaffolding End-to-End Collaborative Software Development for Novice Programmers. - Jeremy Warner; Philip J. Guo (CHI, 2017)

Hack.edu: Examining How College Hackathons Are Perceived By Student Attendees and Non-Attendees. - Jeremy Warner; Philip J. Guo (ICER, 2017)

Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations. - Hyeonsu B. Kang; Philip J. Guo (UIST, 2017)

Torta: Generating Mixed-Media GUI and Command-Line App Tutorials Using Operating-System-Wide Activity Tracing. - Alok Mysore; Philip J. Guo (UIST, 2017)

DS.js: Turn Any Webpage into an Example-Centric Live Programming Environment for Learning Data Science. - Xiong Zhang; Philip J. Guo (UIST, 2017)

HappyFace: Identifying and predicting frustrating obstacles for learning programming at scale. - Ian Drosos; Philip J. Guo; Chris Parnin (VL/HCC, 2017)

How adults ages 60+ are learning to code. - Philip J. Guo (Commun. ACM, 2017)

Building tools to help students learn to program. - Philip J. Guo (Commun. ACM, 2017)

Non-Native English Speakers Learning Computer Programming: Barriers, Desires, and Design Opportunities. - Philip J. Guo (CHI, 2018)

Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers. - April Yi Wang; Ryan Mitts; Philip J. Guo; Parmit K. Chilana (CHI, 2018)

Codemotion: expanding the design space of learner interactions with computer programming tutorial videos. - Kandarp Khandwala; Philip J. Guo (L@S, 2018)

Students, systems, and interactions: synthesizing the first four years of learning@scale and charting the future. - Sean Kross; Philip J. Guo (L@S, 2018)

Porta: Profiling Software Tutorials Using Operating-System-Wide Activity Tracing. - Alok Mysore; Philip J. Guo (UIST, 2018)

Fusion: Opportunistic Web Prototyping with UI Mashups. - Xiong Zhang; Philip J. Guo (UIST, 2018)

The Impact of Culture on Learner Behavior in Visual Debuggers. - Kyle Thayer; Philip J. Guo; Katharina Reinecke (VL/HCC, 2018)

Practitioners Teaching Data Science in Industry and Academia: Expectations, Workflows, and Challenges. - Sean Kross; Philip J. Guo (CHI, 2019)

Theory and practice of string solvers (invited talk abstract). - Adam Kiezun; Philip J. Guo; Pieter Hooimeijer; Michael D. Ernst; Vijay Ganesh 001 (ISSTA, 2019)

Improv: Teaching Programming at Scale via Live Coding. - Charles H. Chen; Philip J. Guo (L@S, 2019)

Bespoke: Interactively Synthesizing Custom GUIs from Command-Line Applications By Demonstration. - Priyan Vaithilingam; Philip J. Guo (UIST, 2019)

Mallard: Turn the Web into a Contextualized Prototyping Environment for Machine Learning. - Xiong Zhang; Philip J. Guo (UIST, 2019)

Software Developers Learning Machine Learning: Motivations, Hurdles, and Desires. - Carrie J. Cai; Philip J. Guo (VL/HCC, 2019)

End-User Programmers Repurposing End-User Programming Tools to Foster Diversity in Adult End-User Programming Education. - Sean Kross; Philip J. Guo (VL/HCC, 2019)

Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data Scientists. - Ian Drosos; Titus Barik; Philip J. Guo; Robert DeLine; Sumit Gulwani (CHI, 2020)

Learnersourcing at Scale to Overcome Expert Blind Spots for Introductory Programming: A Three-Year Deployment Study on the Python Tutor Website. - Philip J. Guo; Julia M. Markel; Xiong Zhang (L@S, 2020)

Towards a dynamic multiscale personal information space: beyond application and document centered views of information. - Amy Rae Fox; Philip J. Guo; Clemens Nylandsted Klokmose; Peter Dalsgaard; Arvind Satyanarayan; Haijun Xia; James D. Hollan (Programming, 2020)

Papercode: Generating Paper-Based User Interfaces for Code Review, Annotation, and Teaching. - Priyan Vaithilingam; Julia M. Markel; Philip J. Guo (UIST (Adjunct Volume), 2020)

The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry. - Sam Lau; Ian Drosos; Julia M. Markel; Philip J. Guo (VL/HCC, 2020)

Inside the Mind of a CS Undergraduate TA: A Firsthand Account of Undergraduate Peer Tutoring in Computer Labs. - Julia M. Markel; Philip J. Guo (SIGCSE, 2021)

Ten Million Users and Ten Years Later: Python Tutor's Design Guidelines for Building Scalable and Sustainable Research Software in Academia. - Philip J. Guo (UIST, 2021)

Streamers Teaching Programming, Art, and Gaming: Cognitive Apprenticeship, Serendipitous Teachable Moments, and Tacit Expert Knowledge. - Ian Drosos; Philip J. Guo (VL/HCC, 2021)

Orienting, Framing, Bridging, Magic, and Counseling: How Data Scientists Navigate the Outer Loop of Client Collaborations in Industry and Academia. - Sean Kross; Philip J. Guo (Proc. ACM Hum. Comput. Interact., 2021)

The Design Space of Livestreaming Equipment Setups: Tradeoffs, Challenges, and Opportunities. - Ian Drosos; Philip J. Guo (Conference on Designing Interactive Systems, 2022)

The Challenges of Evolving Technical Courses at Scale: Four Case Studies of Updating Large Data Science Courses. - Sam Lau; Justin Eldridge; Shannon Ellis; Aaron Fraenkel; Marina Langlois; Suraj Rampure; Janine Tiefenbruck; Philip J. Guo (L@S, 2022)

Scaling Up Access to the Hidden Curriculum: A Design Methodology for Creating Undergraduate Mentoring Guides. - Kendall Nakai; Philip J. Guo (L@S, 2022)

Five Pedagogical Principles of a User-Centered Design Course that Prepares Computing Undergraduates for Industry Jobs. - Sean Kross; Philip J. Guo (SIGCSE (1), 2022)

How Computer Science and Statistics Instructors Approach Data Science Pedagogy Differently: Three Case Studies. - Sam Lau; Deborah Nolan; Joseph Gonzalez 001; Philip J. Guo (SIGCSE (1), 2022)

Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course Materials. - Sam Lau; Philip J. Guo (SPLASH-E, 2022)

"There's no way to keep up!": Diverse Motivations and Challenges Faced by Informal Learners of ML. - Rimika Chaudhury; Philip J. Guo; Parmit K. Chilana (VL/HCC, 2022)

Seq2Parse: neurosymbolic parse error repair. - Georgios Sakkas; Madeline Endres; Philip J. Guo; Westley Weimer; Ranjit Jhala (Proc. ACM Program. Lang., 2022)

Teaching Data Science by Visualizing Data Table Transformations: Pandas Tutor for Python, Tidy Data Tutor for R, and SQL Tutor. - Sam Lau; Sean Kross; Eugene Wu 002; Philip J. Guo (DataEd@SIGMOD, 2023)

From "Ban It Till We Understand It" to "Resistance is Futile": How University Programming Instructors Plan to Adapt as More Students Use AI Code Generation and Explanation Tools such as ChatGPT and GitHub Copilot. - Sam Lau; Philip J. Guo (ICER (1), 2023)

Uncovering the Hidden Curriculum of University Computing Majors via Undergraduate-Written Mentoring Guides: A Learner-Centered Design Workflow. - Kendall Nakai; Philip J. Guo (ICER (1), 2023)

Foreword. - Thomas D. LaToza; Esther Guerra; Philip J. Guo (VL/HCC, 2023)

Six Opportunities for Scientists and Engineers to Learn Programming Using AI Tools Such as ChatGPT. - Philip J. Guo (Comput. Sci. Eng., 2023)

Taking ASCII Drawings Seriously: How Programmers Diagram Code. - Devamardeep Hayatpur; Brian Hempel; Kathy Chen; William Duan; Philip J. Guo; Haijun Xia (CHI, 2024)

Perpetual Teaching Across Temporary Places: Conditions, Motivations, and Practices of Media Artists Teaching Computing Workshops. - Alice Mira Chung; Philip J. Guo (ICER (1), 2024)

UNFOLD: Enabling Live Programming for Debugging GUI Applications. - Ruanqianqian (Lisa) Huang; Philip J. Guo; Sorin Lerner (VL/HCC, 2024)

Undergraduate Computing Tutors' Perceptions of their Roles, Stressors, and Barriers to Effectiveness. - Ismael Villegas Molina; Jeannie Kim; Audria Montalvo; Apollo Larragoitia; Rachel S. Lim; Philip J. Guo; Sophia Krause-Levy; Leo Porter 001 (SIGCSE (1), 2025)