CHI paper: What would other programmers do: suggesting solutions to error messages
Canonical
on 22 April 2010
Tags: Design , developers , Research
Abstract
Interpreting compiler errors and exception messages is challenging for novice programmers. Presenting examples of how other programmers have corrected similar errors may help novices understand and correct such errors. This paper introduces HelpMeOut, a social recommender system that aids the debugging of error messages by suggesting solutions that peers have applied in the past. HelpMeOut comprises IDE instrumentation to collect examples of code changes that fix errors; a central database that stores fix reports from many users; and a suggestion interface that, given an error, queries the database for a list of relevant fixes and presents these to the programmer. We report on implementations of this architecture for two programming languages. An evaluation with novice programmers found that the technique can suggest useful fixes for 47% of errors after 39 person-hours of programming in an instrumented environment.
Authors
Björn Hartmann University of California, Berkeley, Berkeley, CA, USA
Daniel MacDougall Stanford University, Stanford, CA, USA
Joel Brandt Stanford University, Stanford, CA, USA
Scott R. Klemmer Stanford University, Stanford, CA, USA
Download pdf
Help me out.
Talk to us today
Interested in running Ubuntu in your organisation?
Newsletter signup
Related posts
Generating accessible color palettes for design systems … inspired by APCA!
This is the first of two blog posts about how we created the color palette for a new design system at Canonical. In this post I share my journey into...
How we ran a sprint to refresh our design website, Part 2
Part 2 of our series on how our team created content for our design website. Get insights, tools, and lessons to help you run your own design sprint.
In pursuit of quality: UX for documentation authors
Canonical’s Platform Engineering team has been hard at work crafting documentation in Rockcraft and Charmcraft around native support for web app frameworks...