CHI paper: What would other programmers do: suggesting solutions to error messages

Canonical

on 22 April 2010

This article is more than 15 years old.


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

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical’s Privacy Policy.

Related posts

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

Improving our web page creation workflow: how structured content is slashing design and development time

Co-authored with Julie Muzina A year ago, during our Madrid Engineering Sprint, we challenged ourselves to dramatically reduce, or even eliminate, the need...

How we ran an effective sprint to refresh our design website, Part 1

Part 1 of how we ran a design sprint to refresh our website. Sharing what worked, what didn’t, and lessons from designing for open source in mind.