  Background: Compilers tend to produce cryptic and uninformative error
messages, leaving programmers confused and requiring them to spend precious
time to resolve the underlying error. To find help, programmers often take to
online question-and-answer forums such as Stack Overflow to start discussion
threads about the errors they encountered.
  Aims: We conjecture that information from Stack Overflow threads which
discuss compiler errors can be automatically collected and repackaged to
provide programmers with enhanced compiler error messages, thus saving
programmers' time and energy.
  Method: We present Pycee, a plugin integrated with the popular Sublime Text
IDE to provide enhanced compiler error messages for the Python programming
language. Pycee automatically queries Stack Overflow to provide customised and
summarised information within the IDE. We evaluated two Pycee variants through
a think-aloud user study during which 16 programmers completed Python
programming tasks while using Pycee.
  Results: The majority of participants agreed that Pycee was helpful while
completing the study tasks. When compared to a baseline relying on the official
Python documentation to enhance compiler error messages, participants generally
preferred Pycee in terms of helpfulness, citing concrete suggestions for fixes
and example code as major benefits.
  Conclusions: Our results confirm that data from online sources such as Stack
Overflow can be successfully used to automatically enhance compiler error
messages. Our work opens up venues for future work to further enhance compiler
error messages as well as to automatically reuse content from Stack Overflow
for other aspects of programming.
