A key part of learning to program is learning to understand programming error messages. They can be hard to interpret and identifying the cause of errors can be time-consuming. One factor in this challenge is that the messages are typically intended for an audience that already knows how to program, or even for programming environments that then use the information to highlight areas in code. Researchers have been working on making these errors more novice friendly since the 1960s, however progress has been slow. The present work contributes to this stream of research by using large language models to enhance programming error messages with explanations of the errors and suggestions on how to fix the error. Large language models can be used to create useful and novice-friendly enhancements to programming error messages that sometimes surpass the original programming error messages in interpretability and actionability. These results provide further evidence of the benefits of large language models for computing educators, highlighting their use in areas known to be challenging for students. We further discuss the benefits and downsides of large language models and highlight future streams of research for enhancing programming error messages.
翻译:学习编程的一个关键部分是学习理解编程错误信息。它们可能很难解释和辨别出错的原因,这可能会耗费时间。这个挑战的一个因素是,电文通常针对已经知道如何编程的受众,甚至已经知道如何编程的编程环境的编程环境,然后将信息用于突出代码中的领域。研究人员自1960年代以来一直在努力使这些错误更加友好,尽管进展缓慢。目前的工作通过使用大型语言模型加强编程错误信息,并解释错误的解释和关于如何纠正错误的建议,促进了这一研究流。大型语言模型可用于为编程错误信息创造有用和方便的改进,有时超过最初编程错误信息的可解释性和可操作性。这些结果进一步证明了大型语言模型对计算教育者的益处,突出了它们在已知对学生具有挑战的领域的使用。我们进一步讨论了大型语言模型的利弊和弊端,并强调了未来研究的流,以加强编程错误信息。