A small matter of programming: perspectives on end user computing
A small matter of programming: perspectives on end user computing
Fostering debugging communities on the Web
Communications of the ACM
From Kansas to Oz: collaborative debugging when a shared world breaks
Communications of the ACM
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
A technique for isolating differences between files
Communications of the ACM
Extracting usability information from user interface events
ACM Computing Surveys (CSUR)
User Modeling and User-Adapted Interaction
Generating LR syntax error messages from examples
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building Collaboration into IDEs
Queue - Distributed Development
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An analysis of patterns of debugging among novice computer science students
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Assieme: finding and leveraging implicit references in a web search interface for programmers
Proceedings of the 20th annual ACM symposium on User interface software and technology
Compiler error messages: what can help novices?
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Ingimp: introducing instrumentation to an end-user open source application
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Iterative design and evaluation of an event architecture for pen-and-paper interfaces
Proceedings of the 21st annual ACM symposium on User interface software and technology
Improving type error messages for generic java
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Two studies of opportunistic programming: interleaving web foraging, learning, and writing code
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Generating photo manipulation tutorials by demonstration
ACM SIGGRAPH 2009 papers
CommunityCommands: command recommendations for software applications
Proceedings of the 22nd annual ACM symposium on User interface software and technology
Improving API documentation using API usage information
VLHCC '09 Proceedings of the 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
D-Macs: building multi-device user interfaces by demonstrating, sharing and replaying design actions
UIST '10 Proceedings of the 23nd annual ACM symposium on User interface software and technology
Soylent: a word processor with a crowd inside
UIST '10 Proceedings of the 23nd annual ACM symposium on User interface software and technology
Data-driven suggestions for creativity support in 3D modeling
ACM SIGGRAPH Asia 2010 papers
UIST '10 Adjunct proceedings of the 23nd annual ACM symposium on User interface software and technology
On compiler error messages: what they say and what they mean
Advances in Human-Computer Interaction
Design lessons from the fastest q&a site in the west
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Crowdsourcing suggestions to programming problems for dynamic web development languages
CHI '11 Extended Abstracts on Human Factors in Computing Systems
IP-QAT: in-product questions, answers, & tips
Proceedings of the 24th annual ACM symposium on User interface software and technology
Context-Aware and adaptive web interfaces: a crowdsourcing approach
ICWE'11 Proceedings of the 11th international conference on Current Trends in Web Engineering
LemonAid: selection-based crowdsourced contextual help for web applications
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Marco: safe, expressive macros for any language
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
SnipMatch: using source code context to enhance snippet retrieval and parameterization
Proceedings of the 25th annual ACM symposium on User interface software and technology
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
BlueFix: using crowd-sourced feedback to support programming students in error diagnosis and repair
ICWL'12 Proceedings of the 11th international conference on Advances in Web-Based Learning
SNIPR: complementing code search with code retargeting capabilities
Proceedings of the 2013 International Conference on Software Engineering
On the benefits of providing versioning support for end users: An empirical study
ACM Transactions on Computer-Human Interaction (TOCHI)
Codewebs: scalable homework search for massive open online programming courses
Proceedings of the 23rd international conference on World wide web
Hi-index | 0.01 |
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.