Using Large Language Models to Enhance Programming Error Messages
arXiv:2210.11630 · doi:10.1145/3545945.3569770
Abstract
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.
7 pages, accepted for publication at SIGCSE TS 2023
References in corpus (1)
Cited by in corpus (30)
- The Robots are Here: Navigating the Generative AI Revolution in Computing Education
- CodeAid: Evaluating a Classroom Deployment of an LLM-based Programming Assistant that Balances Student and Educator Needs
- "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
- Exploring the Responses of Large Language Models to Beginner Programmers' Help Requests
- Thrilled by Your Progress! Large Language Models (GPT-4) No Longer Struggle to Pass Assessments in Higher Education Programming Courses
- Evaluating the Effectiveness of LLMs in Introductory Computer Science Education: A Semester-Long Field Study
- Patterns of Student Help-Seeking When Using a Large Language Model-Powered Programming Assistant
- How Beginning Programmers and Code LLMs (Mis)read Each Other
- Feedback-Generation for Programming Exercises With GPT-4
- "It's not like Jarvis, but it's pretty close!" -- Examining ChatGPT's Usage among Undergraduate Students in Computer Science
- AI-enhanced Auto-correction of Programming Exercises: How Effective is GPT-3.5?
- 61A Bot Report: AI Assistants in CS1 Save Students Homework Time and Reduce Demands on Staff. (Now What?)
- Enhancing Programming Error Messages in Real Time with Generative AI
- Automating Autograding: Large Language Models as Test Suite Generators for Introductory Programming
- Not the Silver Bullet: LLM-enhanced Programming Error Messages are Ineffective in Practice
- Will Your Next Pair Programming Partner Be Human? An Empirical Evaluation of Generative AI as a Collaborative Teammate in a Semester-Long Classroom Setting
- Exploring LLM-Driven Explanations for Quantum Algorithms
- Synthetic Students: A Comparative Study of Bug Distribution Between Large Language Models and Computing Students
- Let's Ask AI About Their Programs: Exploring ChatGPT's Answers To Program Comprehension Questions
- An Eye for an AI: Evaluating GPT-4o's Visual Perception Skills and Geometric Reasoning Skills Using Computer Graphics Questions
- Automating Personalized Parsons Problems with Customized Contexts and Concepts
- Utilizing ChatGPT in a Data Structures and Algorithms Course: A Teaching Assistant's Perspective
- That's Not the Feedback I Need! -- Student Engagement with GenAI Feedback in the Tutor Kai
- Howzat? Appealing to Expert Judgement for Evaluating Human and AI Next-Step Hints for Novice Programmers
- A Systematic Literature Review of the Use of GenAI Assistants for Code Comprehension: Implications for Computing Education Research and Practice
- Comparison of Three Programming Error Measures for Explaining Variability in CS1 Grades
- Designing for Novice Debuggers: A Pilot Study on an AI-Assisted Debugging Tool
- Examining the Usage of Generative AI Models in Student Learning Activities for Software Programming
- GuardRails: Automated Suggestions for Clarifying Ambiguous Purpose Statements
- A Design Recipe and Recipe-Based Errors for Regular Expressions