Compiler Error Messages
Recall that the principles of interaction say that feedback is an important aspect of a system. The most common way that development tools give feedback to the developer is the (CEM). CEMs are notorious for being decidedly user-unfriendly pieces of feedback. Even if they happen to be accurate, these messages are frequently worded in a hostile manner, are laden with jargon, and noisy in the sense that compiler errors usually come in bunches thanks to error cascading.
To better understand the space of CEMs, we’ll take a look at a working group report from a recent ITiCSE that I had the fortune of participating in.
- Becker, et al. Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research. ITiCSE-WGR ’19: Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education. December 2019.
The report is a dense summary of the current knowledge of CEMs. My recommended reading trajectory for our purposes is to go through the whole document, focusing on sections 1–3 (Introduction & Motivation, Background & Approach, and Preliminary Definitions) for background and then 6–8 (Technical, Enhancements, Guidelines) for details on why CEMs are difficult to get right, how people have tried to overcome these problems, and guidelines for future CEM designers.