Enhancing python compiler error messages via stack overflow

Date

2019

Authors

Thiselton, E.
Treude, C.

Editors

Advisors

Journal Title

Journal ISSN

Volume Title

Type:

Conference paper

Citation

International Symposium on Empirical Software Engineering and Measurement, 2019, vol.1, pp.82-93

Statement of Responsibility

E Thiselton and C Treude

Conference Name

ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (19 Sep 2019 - 20 Sep 2019 : Pernambuco, BRAZIL)

Abstract

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.

School/Discipline

Dissertation Note

Provenance

Description

Access Status

Rights

© 2019 IEEE

License

Call number

Persistent link to this record