Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Automatic generation of useful syntax error messages
Software—Practice & Experience
Designing the user interface (2nd ed.): strategies for effective human-computer interaction
Designing the user interface (2nd ed.): strategies for effective human-computer interaction
Why can't smart students solve simple programming problems?
International Journal of Man-Machine Studies
Mental models and computer programming
International Journal of Human-Computer Studies
Usability inspection methods
CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
The trouble with computers
Novice programmer errors: language constructs and plan composition
International Journal of Human-Computer Studies
Blue—a language for teaching object-oriented programming
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
The media equation: how people treat computers, television, and new media like real people and places
Introduction to the personal software process
Introduction to the personal software process
Affective computing
Human-computer interaction (2nd ed.)
Human-computer interaction (2nd ed.)
Advanced compiler design and implementation
Advanced compiler design and implementation
The psychology of computer programming (silver anniversary ed.)
The psychology of computer programming (silver anniversary ed.)
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Better template error messages
C/C++ Users Journal
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Towards a theory of the cognitive processes in computer programming
International Journal of Human-Computer Studies - Special issue: 1969-1999, the 30th anniversary
Error messages: the neglected area of the man/machine interface
Communications of the ACM
Designing computer system messages
Communications of the ACM
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
A study of errors, error-proneness, and error diagnosis in Cobol
Communications of the ACM
DITRAN—a compiler emphasizing diagnostics
Communications of the ACM
Studying the language and structure in non-programmers' solutions to programming problems
International Journal of Human-Computer Studies
Software engineering (6th ed.)
Software engineering (6th ed.)
OMT Insights: Perspectives on Modeling from the Journal of Object-Oriented Programming
OMT Insights: Perspectives on Modeling from the Journal of Object-Oriented Programming
The User Interface: Concepts and Design
The User Interface: Concepts and Design
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Modern Compiler Design
Human-Computer Interaction
Are visual programming languages better? The role of imagery in program comprehension
International Journal of Human-Computer Studies
Annals of Software Engineering
Identifying and correcting Java programming errors for introductory computer science students
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Teaching objects-first in introductory computer science
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Explaining Type Errors by Finding the Source of a Type Conflict
SFP '99 Selected papers from the 1st Scottish Functional Programming Workshop (SFP99)
What the Compiler Should Tell the User
Compiler Construction, An Advanced Course, 2nd ed.
Compiler Construction, An Advanced Course, 2nd ed.
CSEET '01 Proceedings of the 14th Conference on Software Engineering Education and Training
Using HCI Techniques to Design a More Usable Programming System
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Generating LR syntax error messages from examples
ACM Transactions on Programming Languages and Systems (TOPLAS)
ProfessorJ: a gradual introduction to Java through language levels
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Methods and tools for exploring novice compilation behaviour
Proceedings of the second international workshop on Computing education research
Searching for type-error messages
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Rapidly implementing languages to compile as C++ without crafting a compiler
Software—Practice & Experience
Debugging: the good, the bad, and the quirky -- a qualitative analysis of novices' strategies
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Compiler error messages: what can help novices?
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Novice LISP errors: undetected losses of information from working memory
Human-Computer Interaction
Preprogramming knowledge: a major source of misconceptions in novice programmers
Human-Computer Interaction
Improving type error messages for generic java
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Retina: helping students and instructors based on observed programming activities
Proceedings of the 40th ACM technical symposium on Computer science education
What would other programmers do: suggesting solutions to error messages
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Parsing Techniques: A Practical Guide
Parsing Techniques: A Practical Guide
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
Investigation of error notifications through categorization
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
Programmers often encounter cryptic compiler error messages that are difficult to understand and thus difficult to resolve. Unfortunately, most related disciplines, including compiler technology, have not paidmuch attention to this important aspect that affects programmers significantly, apparently because it is felt that programmers should adapt to compilers. In this article, however, this problem is studied from the perspective of the discipline of human-computer interaction to gain insight into why compiler errors messages make the work of programmers more difficult, and how this situation can be alleviated. Additionally, because poorly designed error messages affect novice programmers more adversely, the problems faced by computer science students while learning to program are analyzed, and the obstacles originated by compilers are identified. Examples of actual compiler error messages are provided and carefully commented. Finally, some possible measures that can be taken are outlined, and some principles for compiler error message design are included.