Using Large Language Models to Enhance Programming Error Messages
Open accessAbstract
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 them. 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.
AI snapshot
Written from the paper’s full text.
TL;DR
This paper explores whether Codex can enhance Python programming error messages with novice-friendly explanations and fixes. It finds generated explanations are often comprehensible and sometimes improve on original messages, but suggested fixes are frequently incorrect and not ready for production classroom use.
Key findings
- Codex outputs were comprehensible in 88% of cases, included an explanation in 84% of cases, and those explanations were correct in 57% of cases with an explanation (48% of all inputs).
- Although 70% of outputs proposed a fix, only 47% of those fixes were correct (33% of all inputs).
- Overall, Codex-generated content was judged an improvement over the original error message in 54% of cases; with temperature 0, over 70% were improvements, while temperature 0.7 reached only up to 50%.
- Performance varied by error message: correct explanations ranged from 11% for “unexpected EOF while parsing” to 83% for “can’t assign to function call,” and improvement ranged from 22% for “unexpected EOF while parsing” to 78% for “can’t assign to function call” and “invalid token.”
Methods
- The authors selected nine Python error messages previously reported as most unreadable, then wrote three example programs per message: simple, function-with-strings, and library-based.
- Using Codex model `code-davinci-002`, they tested five prompts and chose the one with fewest empty responses (4/81), then generated three explanations per error-message/program combination: one at temperature 0 and two at temperature 0.7, yielding 81 unique combinations.
- Two experienced instructors independently rated seven aspects (e.g., comprehensible, has explanation, explanation correct, has fix, fix correct, improvement over original) with Cohen’s kappa 0.83; percentages were calculated over 162 ratings.
Limitations
- The paper states that it used Python 3.6, author-created rather than student code, mostly short programs, and only singular errors; newer Python versions have improved some analyzed messages.
- The paper also states that explanation and fix were requested in a single prompt and that it used zero-shot learning without examples, which may have limited performance.
- Evident from the text: evaluation used only two raters with binary yes/no judgments, no student or classroom deployment was tested, and results are tied to one Codex model, so they serve as a baseline rather than evidence of classroom effectiveness.
Model-written summary. Check it against the paper before relying on it.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
0 of 38 cited sources checked · 0 supported · 0 flagged
- Findingown data
The number of empty responses for the five prompts was 4, 6, 7, 16, and 27 out of 81 generated explanations, respectively.
“The number of empty responses was 4, 6, 7, 16 and 27 out of 81 generated explanations respectively, for prompts 1 to 5 above.”
Quote in the paperSubstantial claim - Findingown data
In most cases, Codex successfully created an explanation of the error message, with the percentage ranging from 67% to 100% depending on error message.
“In most cases, Codex successfully created an explanation of the error message (67% to 100% of the time depending on error message)”
Quote in the paperSubstantial claim - Findingown data
The first prompt generated the fewest empty responses.
“We chose the first for the analysis as it generated the fewest empty responses.”
Quote in the paperSubstantial claim - Findingown data
In the majority of cases, Codex provided a fix in the generated explanation, with the percentage ranging from 44% to 89%.
“we found that in the majority of cases, Codex provided a fix in the generated explanation (44% to 89% of cases).”
Quote in the paperSubstantial claim - Findingown data
There were certain cases where Codex was more likely to provide faulty explanations and suggest fixes that are incorrect.
“we found that there were certain cases where Codex was more likely to provide faulty explanations and suggest fixes that are incorrect”
Quote in the paperSubstantial claim
- Findingown data§ Add more spaces or tabs to the start of each line of code to be able to run it.
The importance of context was present in disagreements between the two researchers who independently evaluated the error messages.
“The importance of context was also present in some of the disagreements between the two researchers who independently evaluated the error messages”
Quote in the paperNot a substantial claim - Findingown data
For the third case, Codex was often unable to correctly identify whether the quotation mark was missing from the beginning or the end of the string.
“For the third case, Codex was often unable to correctly identify whether the quotation mark was missing from the beginning or the end of the string”
Quote in the paperNot a substantial claim - Findingown data
Of the outputs with a proposed fix, 47% were deemed correct (33% of all inputs).
“a little less than half (47%) of those were deemed correct (33% of all inputs).”
Quote in the paperSubstantial claim - Findingown data
Codex often struggled with missing quotation marks (resulting in either 'EOL while scanning string literal' or 'EOF while scanning triple-quoted string literal').
“missing quotation marks (resulting in either”
Quote in the paperNot a substantial claim - Findingown data
Results were better across the board when using a temperature value of 0.
“we noticed that the results were better across the board when using a temperature value of 0.”
Quote in the paperNot a substantial claim - Findingown data
We observed some outputs that were not just incorrect, but even contradictory and confusing.
“we did observe some outputs that were not just incorrect, but even contradictory and confusing.”
Quote in the paperNot a substantial claim - Findingown data
For the second case, Codex often suggested fixing the indentation, even though the problem was in the capitalization.
“Similar suggestions for fixing the indentation were observed for the second case as well, even though the problem is in the capitalization.”
Quote in the paperNot a substantial claim - Findingown data
Codex often struggled with source code clearly missing a part of the content (resulting in 'unexpected EOF while parsing').
“source code clearly missing a part of the content (resulting in”
Quote in the paperNot a substantial claim - Findingown data
Evaluators considered the Codex-created content, i.e., the explanation of the error message and the proposed fix, an improvement over the original error message in slightly over half of the cases (54%).
“Altogether, the evaluators considered that the Codex-created content, i.e., the explanation of the error message and the proposed fix, were an improvement over the original error message in slightly over half of the cases (54%).”
- Also stated in: § 5.1 Are Error Message Explanations Useful? · plain
“Overall, the explanation was considered an improvement over the original programming error message in over half of the cases.”
Quote in the paperSubstantial claim - Also stated in: § 5.1 Are Error Message Explanations Useful? · plain
- Findingown data
Codex performed better in some cases.
“we found cases where Codex seems to perform better.”
Quote in the paperNot a substantial claim - Findingown data
The variations between program categories are not as noticeable as the differences between different temperature values or different error messages.
“However, the variations between program categories are not as noticeable as the differences between different temperature values or different error messages.”
Quote in the paperNot a substantial claim - Findingown data
70% of the outputs had a proposed fix.
“Although 70% of the outputs had a proposed fix”
Quote in the paperSubstantial claim - Findingown data
Codex often struggled with incorrectly capitalized control statements (resulting in 'illegal target for annotation').
“incorrectly capitalized control statements (resulting in”
Quote in the paperNot a substantial claim - Findingown data
For the first case, Codex would often suggest fixing the indentation of the program, even though the problem was that the implementation was far from complete.
“For the first case, Codex would often suggest fixing the indentation of the program, even though the problem was that the implementation was far from complete”
Quote in the paperNot a substantial claim - Findingown data
Of the explanations Codex produced, 57% were deemed correct (48% of all inputs).
“but only about half (57%) of these explanations were deemed correct (48% of all inputs).”
Quote in the paperSubstantial claim - Findingown data
For the third case, Codex sometimes suggested that the issue is related to parentheses instead of missing quotation marks.
“and sometimes suggested that the issue is related to parentheses instead of missing quotation marks.”
Quote in the paperNot a substantial claim - Findingown data
Codex produced an output with an explanation to 84% of the provided codes and error messages.
“Codex produced an output with an explanation to 84% of the provided codes and error messages”
Quote in the paperSubstantial claim - Findingown data
Overall, the explanations created by Codex were quite comprehensible (88%).
“Overall, the explanations created by Codex were quite comprehensible (88%).”
Quote in the paperSubstantial claim - Premisecitation
Instructors spend a considerable amount of time helping novices with cryptic error messages.
“Instructors report that they spend a considerable amount of time helping novices with these often cryptic messages [15,31,32,37].”
Quote in the paperSubstantial claim0 of 4 sources checked - Premisecitation
Error message presentation affects novice programming behavior.
“It is also known that error message presentation affects novice programming behavior [23].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [23]
Not checked in the free run.
- Premisecitation
One known issue with error messages generated by compilers and interpreters is lower than desired readability due to poor use of vocabulary, loose sentence structure, and use of jargon.
“One of the many known issues with error messages generated by compilers and interpreters is lower than desired readability due to factors such as poor use of vocabulary, loose sentence structure, and the use of jargon [17].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [17]
Not checked in the free run.
- Premisecitation
Programming error messages can be notoriously difficult to decipher, especially for novices.
“Programming Error Messages (PEMs) can be notoriously difficult to decipher, especially for novices [33]”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [33] source
Not checked in the free run.
- Premisecitation
Increasing the readability of programming error messages at scale and across languages remains a challenge.
“While it is clear that increasing the readability of PEMs is helpful to novices, doing so at scale, and across languages (both programming and natural [34]), remains a challenge.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [34] source
Not checked in the free run.
- Premisecitation
Nearly sixty years later, programming error messages are still a barrier to progress for those learning to program.
“Nearly sixty years later, PEMs are still a barrier to progress for those learning to program [7]”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [7] source
Not checked in the free run.
- Premisecitation
Novices read error messages and spend a substantial amount of programming time trying to understand them.
“Eye-tracking studies reveal that novices read error messages and spend a substantial amount of programming time trying to understand them [4].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [4] source
Not checked in the free run.
- Interpretationreasoning
PEM explanations and suggested fixes generated by LLMs are not yet ready for production use in introductory programming classes.
“We find that PEM explanations and suggested fixes generated by LLMs are not yet ready for production use in introductory programming classes”
Quote in the paperSubstantial claim- Rests on an assumption: Codex's performance is representative of large language models generally.
- Rests on an assumption: Students may interpret faulty LLM outputs as coming from an authority.
- Rests on an assumption: Students may attempt to fix their programs in ways that do not actually help.
- Interpretationown data
LLMs could be a useful tool for enhancing PEMs.
“our results show that LLMs could be a useful tool for enhancing PEMs”
Quote in the paperSubstantial claim- Rests on an assumption: Codex's performance is representative of large language models generally.
- Premisecitation
Traditional error messages are often cryptic and hard to understand for novice programmers.
“traditional error messages are often cryptic and hard to understand for novice programmers [16,17].”
Quote in the paperSubstantial claim0 of 2 sources checked- cites [16] source
Not checked in the free run.
- cites [17]
Not checked in the free run.
- Interpretationown data
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.
“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.”
Quote in the paperSubstantial claim - Interpretationcitation
Enhancing programming error messages could help students in debugging their programs.
“Enhancing programming error messages could help students in debugging their programs”
Quote in the paperSubstantial claim
- Classified as probably not a substantial claim. 27
- May combine two claims. 18
- The quote only partly states this claim. 4
Probably not a substantial claim: may not pass S3 (load-bearing).
Findingnone givenCodex suggests that the issue is related to indentation.
“Codex suggests that the issue is related to indentation.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataAlthough 70% of the created content included a fix, when a fix was included it was correct only under half of the time (47%).
“Although 70% of the created content included a fix, when a fix was included it was correct only under half of the time (47%).”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S1 (asserted), S3 (load-bearing), S4 (based). May combine two claims. The quote only partly states this claim.
Findingown dataThe output was considered an improvement in over 70% of the cases with a temperature value of 0, while only up to 50% of the cases with a temperature value of 0.7.
“If we only consider the results from using a temperature value of 0, over 70% of the Codex outputs were considered an improvement over the original programming error message.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingreasoning§ Add more spaces or tabs to the start of each line of code to be able to run it.One researcher at times considered the error message as an improvement if it pointed the students in the correct direction, even if the explanation by itself would be faulty.
“one of the researchers at times considered the error message as an improvement if it pointed the students in the correct direction, even if the explanation by itself would be faulty.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataFixes created with the temperature value of 0 were better on average compared to those created with a value of 0.7, but they were still correct in only around half of the cases: 42%, 56%, and 61% for functions with strings, simple programs, and library related programs respectively.
“While the fixes created with the temperature value of 0 were better on average compared to those created with a value of 0.7, they were still correct in only around half of the cases -42%, 56%, and 61% of the cases for functions with strings, simple programs, and library related programs respectively.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims. The quote only partly states this claim.
Findingown dataIn one case, the generated output included a correct explanation of the problem but also stated that 'this is not a correct explanation'.
“the generated output actually does include a correct explanation of the problem -”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingnone givenTwo examples of outputs where both the explanation and suggested fix generated by Codex were incorrect are shown in Codex Examples 3 and 4.
“Two examples of outputs where both the explanation and suggested fix generated by Codex were incorrect are shown in Codex Examples 3 and 4.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataFor explaining programming error messages and creating suggestions for fixes to the source code that produced those errors, using a temperature value of 0 resulted in considerably better outputs, which holds for all three program categories.
“From the table, it is evident that for the task of explaining PEMs and creating suggestions for fixes to the source code that produced those errors, using a temperature value of 0 resulted in considerably better outputs, which holds for all three program categories.”
Quote in the paperSubstantial claimThe quote only partly states this claim.
Findingown dataThe program category 'function with strings' had the lowest scores overall.
“the program category”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataIn one case, Codex focused too much on the 'Plain English' portion of the input and started generating irrelevant content related to 'looking for a plain English explanation'.
“In one case, Codex seems to have focused too much on the”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). The quote only partly states this claim.
Findingnone givenSome outputs, specifically two examples, were considered good enough to be shown to students without modifications.
“that we consider good enough to be shown to students without modifications.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationEarly work by Finnie-Ansley et al. found that Codex outperformed most students and was capable of generating a variety of correct solutions to given problems.
“They found that it outperformed most students, and was capable of generating a variety of correct solutions to given problems [19].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [19]
Not checked in the free run.
May combine two claims.
PremisecitationArtificial intelligence and machine learning approaches have been used for finding and repairing errors in programs, but only very fundamental approaches have been applied to researching programming error messages.
“Artificial intelligence and machine learning approaches have been used for finding and repairing errors in programs [1,20,21] but only very fundamental approaches have been applied to researching PEMs [11].”
Quote in the paperSubstantial claim0 of 4 sources checkedProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationCodex could solve introductory programming problems and ranked in the top quartile compared to a cohort of actual students in a large introductory programming course.
“One study found that Codex, a text-to-code model built on top of GPT-3, a text-to-text model (see Section 2.2) could solve introductory programming problems, and ranked Codex in the top quartile when compared to a cohort of actual students in a large introductory programming course [19].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [19]
Not checked in the free run.
May combine two claims.
PremisecitationAlthough some studies have shown positive effects of rewording messages for novices, in general the evidence for the effectiveness of enhanced compiler error messages is not overwhelming.
“However, although some studies have shown positive effects of rewording messages for novices [9,16], in general the evidence for the effectiveness of enhanced compiler error messages is not overwhelming [7].”
Quote in the paperSubstantial claim0 of 3 sources checkedMay combine two claims.
PremisecitationOne limitation of prior work in this area is the manual effort required to generate enhanced programming error messages and a lack of clear guidance for addressing core issues such as readability.
“One of the limitations of prior work in this area is the manual effort required to generate enhanced PEMs and a lack of clear guidance for addressing core issues such as readability [17].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [17]
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationLarge language models, particularly pre-trained transformer models, have rapidly become a core technology in natural language processing.
“Large Language Models (LLMs), particularly pre-trained transformer models, have rapidly become a core technology in natural language processing [26].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [26] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationFor over six decades, researchers have attempted to improve programming error messages, and there is still a call for more work on the topic.
“For over six decades, researchers have attempted to improve these messages, and still there is a call for more work on the topic [7].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [7] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationCodex is essentially a GPT-3 model fine-tuned with more than 50 million repositories representing the majority of Python code available on GitHub, totalling 159 GB of source code.
“Codex which is essentially a GPT-3 model that has been fine-tuned with more than 50 million repositories representing the majority of Python code available on GitHub totalling 159 GB of source code [13].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [13]
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationResearchers and instructors have reported programming error messages to be difficult for students since at least 1965.
“Researchers and instructors have reported PEMs to be difficult for students since at least 1965 [35].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [35] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationRecent attempts have been made to put error messages into more natural language by focusing on an increase in readability.
“Some recent attempts have been made to put error messages into more natural language by focusing on an increase in readability [8,17].”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [8]
Not checked in the free run.
- cites [17]
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationProgramming error messages may contribute to the perception that programming is overly challenging.
“possibly to the extent that they contribute to the perception that programming is overly challenging [6].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [6] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationSarsa et al. found that most problems generated by Codex were novel and sensible, and that the generated code explanations were generally correct and thorough.
“They found that most of the problems generated by Codex were novel and sensible, and that the generated code explanations were generally correct and thorough.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [36] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationTools like Codex can generate new programming assignments and code explanations when provided examples.
“Tools like Codex are able to generate new programming assignments [36] and code explanations [29] when provided examples.”
Quote in the paperNot a substantial claim0 of 2 sources checkedMay combine two claims.
PremisecitationIncreasing the readability of programming error messages improves student understanding of error messages and the number of successful code corrections.
“This has been shown to improve student understanding of error messages and the number of successful code corrections [16].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [16] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductnone givenThe evaluation was performed by two researchers, both of whom have experience teaching introductory programming.
“The evaluation was performed by two researchers, both of whom have experience teaching introductory programming.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S2 (checkable).
InterpretationreasoningThese 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.
“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.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Interpretationnone given§ Add more spaces or tabs to the start of each line of code to be able to run it.The utility of these explanations depends on if students understand the implications of the suggestions.
“The utility of these explanations also depends on if students understand the implications of the suggestions.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
InterpretationreasoningIncorrect suggestions about indentation could exacerbate novices' struggles by potentially misleading students and introducing misconceptions related to correct indentation.
“these incorrect suggestions could exacerbate this by potentially misleading students and even introduce misconceptions related to correct indentation.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Interpretationnone given§ Add more spaces or tabs to the start of each line of code to be able to run it.The original error messages might be more useful for more experienced students who have learned to interpret them.
“the original error messages might be more useful for more experienced students who have learned to interpret them.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationFew-shot learning can drastically improve the performance of large language models.
“Prior work has found that giving even just a few examples (i.e.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [12]
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
Premisecitation§ Add more spaces or tabs to the start of each line of code to be able to run it.Prior research has shown that LLMs used to facilitate source code creation may lead students down debugging rabbitholes.
“Prior research investigating LLMs has shown that when used to facilitate the creation of source code, they may lead students down debugging rabbitholes [38]”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [38] source
Not checked in the free run.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationNovices often struggle with indentation.
“As novices often struggle with indentation [24,27]”
Quote in the paperNot a substantial claim0 of 2 sources checkedMay combine two claims.
Interpretationown dataComparing the incorrect outputs with the correct outputs, the messages seem similarly confident in tone, which could potentially mislead students.
“Comparing these incorrect outputs with the correct outputs in Codex Examples 1 and 2, we observe that the messages seem similarly confident in their tone, which could potentially mislead students.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S2 (checkable).
InterpretationreasoningThe present results create a baseline that future model performance can be compared to.
“these results create a baseline that future model performance can be compared to.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Premisecitation§ Add more spaces or tabs to the start of each line of code to be able to run it.Prior research has shown that LLMs used to facilitate source code creation may introduce security flaws.
“or even introduce security flaws [30].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [30] source
Not checked in the free run.
May combine two claims.
Interpretationown dataUsing large language models to explain programming error messages is feasible and shows promise.
“Our results suggest that using large language models to explain programming error messages (PEMs) is feasible and shows promise.”
Quote in the paperSubstantial claim
The paper relies on this without support.
No prior work has explored the use of large language models for improving programming error messages.
“To our knowledge, no prior work has explored the use of large language models for improving PEMs.”
The paper relies on this without support.
Codex's performance is representative of large language models generally.
“We find that PEM explanations and suggested fixes generated by LLMs are not yet ready for production use in introductory programming classes”
The paper relies on this without support.
Students may interpret faulty LLM outputs as coming from an authority.
“there are risks that students may interpret potentially faulty LLM outputs as coming from an authority”
The paper relies on this without support.
Students may attempt to fix their programs in ways that do not actually help.
“and attempt to fix their programs in ways that do not actually help.”
The paper relies on this without support.
The two researchers' independent evaluation is a valid measure of explanation quality.
“the two researchers who independently evaluated the error messages”
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
AI has already been used to improve error messages.
“At a simpler level, AI has already been used, for example, to improve error messages [25].”
From Instructor Perceptions of AI Code Generation Tools - A Multi-Institutional Interview Study (2024) · cites this paper as [25]
Leinonen et al. found that Codex could enhance programming error messages approximately 54% of the time on average, noting that this performance is not good enough for using the model directly with students.
“Leinonen et al. found that Codex could enhance programming error messages-which are notoriously hard for students to understand-approximately 54% of the time on average, noting that this performance is not good enough for using the model directly with students [125].”
From The Robots Are Here: Navigating the Generative AI Revolution in Computing Education (2023) · cites this paper as [125]
Leinonen et al. suggest that LLMs could help students understand terse error messages which have traditionally been a source of difficulty for novice learners.
“Leinonen et al. suggest that LLMs could help students understand terse error messages [125] which have traditionally been a source of difficulty for novice learners [36].”
From The Robots Are Here: Navigating the Generative AI Revolution in Computing Education (2023) · cites this paper as [125]
The most common concern expressed by authors about student learning was the potential for students to become over-reliant on generative AI tools to solve problems and assist in debugging code.
“The most common concern expressed by authors about student learning was the potential for students to become over-reliant on generative AI tools to solve problems [33,85,123,126,169] and assist in debugging code [125,150,199].”
From The Robots Are Here: Navigating the Generative AI Revolution in Computing Education (2023) · cites this paper as [125]
Temperature 0 should yield the most deterministic responses and has been found to work well for feedback in prior work.
“For temperature, a parameter that controls randomness in LLM responses, we used 0, which should yield the most deterministic responses and has been found to work well for feedback in prior work [45].”
From Exploring the Responses of Large Language Models to Beginner Programmers’ Help Requests (2023) · cites this paper as [45]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
Each contradiction between two passages listed here was confirmed by an independent check.
81 outputs are not 81 unique temperature-value combinations
MinorFor each error message and program, the study generated three outputs but used only two temperature values: one output at 0 and two at 0.7. The two outputs at 0.7 therefore share the same error-message, program-category, and temperature-value combination, so the stated 81 combinations are not all unique.
“This led to a total of 9 × 3 × 3 = 81 unique combinations of programming error message, program category, and temperature value, which we subsequently evaluated.”
“we generated three code explanations: one with the Codex temperature parameter set to 0, and two with the temperature set to 0.7.”
Cites
Vaithilingam, P., Zhang, T., & Glassman, E. L. (2022) · CHI Conference on Human Factors in Computing Systems Extended Abstracts · doi:10.1145/3491101.3519665 · Cited by 660 · see citing works
Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions
Pearce, H., Ahmad, B., Tan, B., Dolan-Gavitt, B., & Karri, R. (2022) · 2022 IEEE Symposium on Security and Privacy (SP) · doi:10.1109/sp46214.2022.9833571 · Cited by 476 · see citing works
An Empirical Investigation into Programming Language Syntax
Stefik, A., & Siebert, S. (2013) · ACM Transactions on Computing Education · doi:10.1145/2534973 · Cited by 295 · see citing works
Kalyuga, S. (2009) · Managing Cognitive Load in Adaptive Multimedia Learning · doi:10.4018/978-1-60566-048-6.ch003 · Cited by 90 · see citing works
Do Developers Read Compiler Error Messages?
Barik, T., Smith, J., Lubick, K., Holmes, E., Feng, J., Murphy-Hill, E., & Parnin, C. (2017) · 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE) · doi:10.1109/icse.2017.59 · Cited by 86 · cited 1× · see citing works
“Eye-tracking studies reveal that novices read error messages and spend a substantial amount of programming time trying to understand them [4].”
BackgroundDo Enhanced Compiler Error Messages Help Students?: Results Inconclusive.
Pettit, R. S., Homer, J., & Gee, R. (2017) · Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education · doi:10.1145/3017680.3017768 · Cited by 66 · see citing works
Deep Reinforcement Learning for Syntactic Error Repair in Student Programs
Gupta, R., Kanade, A., & Shevade, S. (2019) · Proceedings of the AAAI Conference on Artificial Intelligence · doi:10.1609/aaai.v33i01.3301930 · Cited by 54 · see citing works
PUFFT—The Purdue University fast FORTRAN translator
Rosen, S., Spurgeon, R. A., & Donnelly, J. K. (1965) · Communications of the ACM · doi:10.1145/365660.365671 · Cited by 40 · see citing works
Flagged first, then by citations
Research works printed but not linked: 30
- Toufique Ahmed, Noah Rose Ledesma, and Premkumar Devanbu. 2021. SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics. arXiv preprint arXiv:2104.14671 (2021). · arXiv
- 10.1145/3183377.3183383 · DOI
- Titus Barik. 2018. Error Messages as Rational Reconstructions. Ph.,D. Dissertation. North Carolina State University.
- 10.1145/2839509.2844584 · DOI
- 10.1145/3469115 · DOI · Paper page
- 10.1145/3344429.3372508 · DOI · Paper page
- Brett A. Becker, Paul Denny, James Prather, Raymond Pettit, Robert Nix, and Catherine Mooney. 2021. Towards Assessing the Readability of Programming Error Messages. In Australasian Computing Education Conference. ACM, 181--188.
- 10.1080/08993408.2016.1225464 · DOI · Paper page
- 10.1145/3159450.3159461 · DOI
- Brett A Becker and Catherine Mooney. 2016. Categorizing Compiler Error Messages with Principal Component Analysis. In 12th China-Europe International Symposium on Software Engineering Education (CEISEE 2016).
- Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. 2020. Language Models are Few-shot Learners. Advances in Neural Information Processing Systems, Vol. 33 (2020), 1877--1901.
- Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Ponde de Oliveira Pinto, Jared Kaplan, Harri Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, et al. 2021. Evaluating Large Language Models Trained on Code. arXiv preprint arXiv:2107.03374 (2021). · arXiv
- 10.1145/2591708.2591748 · DOI
- 10.1145/1999747.1999807 · DOI · Paper page
- 10.1145/3341525.3387384 · DOI · Paper page
- Paul Denny, James Prather, Brett A. Becker, Catherine Mooney, John Homer, Zachary C Albrecht, and Garrett B. Powell. 2021. On Designing Programming Error Messages for Novices: Readability and Its Constituent Factors. In Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems. ACM.
- Paul Denny, Sami Sarsa, Arto Hellas, and Juho Leinonen. 2022. Robosourcing Educational Resources--Leveraging Large Language Models for Learnersourcing. arXiv preprint arXiv:2211.04715 (2022). · arXiv
- James Finnie-Ansley, Paul Denny, Brett A Becker, Andrew Luxton-Reilly, and James Prather. 2022. The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming. In Australasian Computing Education Conference. 10--19.
- 10.1609/aaai.v31i1.10742 · DOI · Paper page
- Ioannis Karvelas, Annie Li, and Brett A. Becker. 2020. The Effects of Compilation Mechanisms and Error Message Presentation on Novice Programmer Behavior. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education. ACM, 759--765.
- 10.1145/3287324.3287381 · DOI · Paper page
- J Richard Landis and Gary G Koch. 1977. The Measurement of Observer Agreement for Categorical Data. biometrics (1977), 159--174.
- 10.1145/3490443 · DOI · Paper page
- 10.1145/3287324.3287503 · DOI · Paper page
- Pengfei Liu, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, and Graham Neubig. 2021. Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. arXiv preprint arXiv:2107.13586 (2021). · arXiv
- 10.1145/3501709.3544280 · DOI · Paper page
- 10.1145/3230977.3230981 · DOI · Paper page
- 10.1145/3105726.3106169 · DOI · Paper page
- 10.1145/3291279.3339423 · DOI · Paper page
- 10.1145/3501385.3543957 · DOI · Paper page
Cited by
Sorted by citations
The promise and challenges of generative AI in education
Giannakos, M., Azevedo, R., Brusilovsky, P., Cukurova, M., Dimitriadis, Y., Hernandez-Leo, D., Järvelä, S., Mavrikis, M., & Rienties, B. (2025) · Behaviour & Information Technology · doi:10.1080/0144929x.2024.2394886 · Cited by 543 · see citing works
The Robots Are Here: Navigating the Generative AI Revolution in Computing Education
Prather, J., Denny, P., Leinonen, J., Becker, B. A., Albluwi, I., Craig, M., Keuning, H., Kiesler, N., Kohn, T., Luxton-Reilly, A., et al. (2023) · Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education · doi:10.1145/3623762.3633499 · Cited by 396 · see citing works
Self-citationComputing Education in the Era of Generative AI
Denny, P., Prather, J., Becker, B. A., Finnie-Ansley, J., Hellas, A., Leinonen, J., Luxton-Reilly, A., Reeves, B. N., Santos, E. A., & Sarsa, S. (2024) · Communications of the ACM · doi:10.1145/3624720 · Cited by 316 · see citing works
“Leinonen et al. recently took a different approach and used LLMs to try to improve PEMs [21].”
MethodSelf-citationPrather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2024) · ACM Transactions on Computer-Human Interaction · doi:10.1145/3617367 · Cited by 256 · see citing works
“found that Codex could be used to enhanced programming error messages in some cases, although they note that the performance of the model was not good enough to use with students directly [60].”
BackgroundSelf-citationThe Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers
Prather, J., Reeves, B. N., Leinonen, J., MacNeil, S., Randrianasolo, A. S., Becker, B. A., Kimmel, B., Wright, J., & Briggs, B. (2024) · Proceedings of the 2024 ACM Conference on International Computing Education Research - Volume 1 · doi:10.1145/3632620.3671116 · Cited by 196 · see citing works
Self-citationPrompt Problems: A New Programming Exercise for the Generative AI Era
Denny, P., Leinonen, J., Prather, J., Luxton-Reilly, A., Amarouche, T., Becker, B. A., & Reeves, B. N. (2024) · Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 · doi:10.1145/3626252.3630909 · Cited by 187 · see citing works
Self-citationSavelka, J., Agarwal, A., An, M., Bogart, C., & Sakr, M. (2023) · Proceedings of the 2023 ACM Conference on International Computing Education Research V.1 · doi:10.1145/3568813.3600142 · Cited by 141 · see citing works
Exploring the Responses of Large Language Models to Beginner Programmers’ Help Requests
Hellas, A., Leinonen, J., Sarsa, S., Koutcheme, C., Kujanpää, L., & Sorva, J. (2023) · Proceedings of the 2023 ACM Conference on International Computing Education Research V.1 · doi:10.1145/3568813.3600139 · Cited by 145 · see citing works
Self-citationAhmed, Z., Shanto, S. S., Rime, M. H. K., Morol, M. K., Fahad, N., Hossen, M. J., & Abdullah-Al-Jubair, M. (2024) · IEEE Access · doi:10.1109/access.2024.3461874 · Cited by 123 · see citing works
“This could involve exploring natural language processing for intelligent tutoring systems, machine learning for adaptive curriculum design, and GAI-powered assessment tools that provide detailed feedback and support to students [88], [90].”
BackgroundGenerative AI for Programming Education: Benchmarking ChatGPT, GPT-4, and Human Tutors
Phung, T., Pădurean, V.-A., Cambronero, J., Gulwani, S., Kohn, T., Majumdar, R., Singla, A., & Soares, G. (2023) · Proceedings of the 2023 ACM Conference on International Computing Education Research - Volume 2 · doi:10.1145/3568812.3603476 · Cited by 112 · see citing works
Pardos, Z. A., & Bhandari, S. (2024) · PLOS ONE · doi:10.1371/journal.pone.0304013 · Cited by 97 · see citing works
Investigating the Potential of GPT-3 in Providing Feedback for Programming Assessments
Balse, R., Valaboju, B., Singhal, S., Warriem, J. M., & Prasad, P. (2023) · Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1 · doi:10.1145/3587102.3588852 · Cited by 63 · see citing works
Reeves, B., Sarsa, S., Prather, J., Denny, P., Becker, B. A., Hellas, A., Kimmel, B., Powell, G., & Leinonen, J. (2023) · Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1 · doi:10.1145/3587102.3588805 · Cited by 56 · see citing works
Self-citationExploring ChatGPT’s impact on post-secondary education: A qualitative study
Rajabi, P., Taghipour, P., Cukierman, D., & Doleck, T. (2023) · Proceedings of the 25th Western Canadian Conference on Computing Education · doi:10.1145/3593342.3593360 · Cited by 57 · see citing works
Instructor Perceptions of AI Code Generation Tools - A Multi-Institutional Interview Study
Sheard, J., Denny, P., Hellas, A., Leinonen, J., Malmi, L., & Simon (2024) · Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 · doi:10.1145/3626252.3630880 · Cited by 54 · see citing works
Self-citationBudhiraja, R., Joshi, I., Challa, J. S., Akolekar, H. D., & Kumar, D. (2024) · Proceedings of the 26th Australasian Computing Education Conference · doi:10.1145/3636243.3636257 · Cited by 52 · see citing works
Decoding Debugging Instruction: A Systematic Literature Review of Debugging Interventions
Yang, S., Baird, M., O’Rourke, E., Brennan, K., & Schneider, B. (2024) · ACM Transactions on Computing Education · doi:10.1145/3690652 · Cited by 29 · see citing works
Polat, M., Karataş, İ. H., & Varol, N. (2025) · Leadership and Policy in Schools · doi:10.1080/15700763.2024.2412204 · Cited by 28 · see citing works
Prather, J., Reeves, B. N., Denny, P., Leinonen, J., MacNeil, S., Luxton-Reilly, A., Orvalho, J., Alipour, A., Alfageeh, A., Amarouche, T., et al. (2024) · arXiv · doi:10.48550/arxiv.2412.12800 · Cited by 20 · see citing works
Self-citationMailach, A., Gorgosch, D., Siegmund, N., & Siegmund, J. (2025) · Empirical Software Engineering · doi:10.1007/s10664-024-10561-6 · Cited by 13 · see citing works
Navigating the Ethical and Societal Impacts of Generative AI in Higher Computing Education
Mak, J., Nakatumba-Nabende, J., Clear, T., Clear, A., Abluwi, I., Andrei, O., Angeli, L., MacNeil, S., Oyelere, S. S., Hale Rattigan, M., et al. (2025) · Proceedings of the 2025 Working Group Reports on Innovation and Technology in Computer Science Education · doi:10.1145/3760545.3783975 · Cited by 12 · see citing works
The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers
Prather, J., Reeves, B., Leinonen, J., MacNeil, S., Randrianasolo, A. S., Becker, B., Kimmel, B., Wright, J., & Briggs, B. (2024) · arXiv · Cited by 196 · see citing works
Self-citation"It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
Prather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2023) · arXiv
“found that Codex could be used to enhanced programming error messages in some cases, although they note that the performance of the model was not good enough to use with students directly [60].”
BackgroundSelf-citation
- Authors
- Leinonen, J., Hellas, A., Sarsa, S., Reeves, B., Denny, P., Prather, J., & Becker, B. A.
- Affiliations
- Aalto University (FI)
- Abilene Christian University (US)
- University of Auckland (NZ)
- University College Dublin (IE)
- Venue
- Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1
- Publisher
- ACM
- Published
- 2023-03-02
- Pages
- 563-569
- OpenAlex
- W4323033692
- Semantic Scholar
- 668faca09fcefd18a46ab5ce4eab765c065e1d5e
- Cited by
- 235
- References
- 8
- Citations by year
- 2026: 39 · 2025: 64 · 2024: 87 · 2023: 45
- FWCI
- 70.95
- Type
- conference paper
- Language
- en
- Open access
- hybrid
- doi.org
- Licence
- Locations
- ACM Technical Symposium on Computer Science Education (SIGCSE) (publishedVersion, cc-by)
- arXiv (Cornell University) (submittedVersion)
- Aaltodoc (Aalto University) (submittedVersion, cc-by)
- arXiv (Cornell University)
- Topics
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Artificial Intelligence › Intelligent Tutoring Systems and Adaptive Learning
- Keywords
- large language models, error explanation, programming education
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Claims read by deepseek-v4.1-flash under definition version 3 (extract-v3) on 2026-10-06.
Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-10-06.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review