Type-Error Ablation and AI Coding Agents

2026-06-01Programming Languages

Programming Languages
AI summary

The authors studied how error messages in programming languages help AI coding agents fix mistakes. They found that unlike humans, AI agents benefit from more detailed error messages and that having a type system helps more than just seeing test failures. Their experiments showed that when AI agents fix type errors successfully, the fixes usually pass all the program's tests. They also observed that AI can understand code even when variable names are scrambled.

error messagesAI coding agentstype systemstatic typingtype errorsunification stacktest suiteprogram repairsemantic correctnessprogram obfuscation
Authors
Shriram Krishnamurthi, Matthew Flatt
Abstract
Programming language implementors have designed error messages with one consumer in mind: the human programmer. Human-factors research has consistently found that programmers engage with error messages poorly -- they skim, miss key information, and are easily overwhelmed. The practical consequence has been a strong design pressure toward brevity: messages should be terse enough that programmers will actually read them. AI coding agents are now a second, fundamentally different consumer of error messages. Unlike humans, agents do not tire, lose attention, or find length cognitively overwhelming. This raises a question the programming-language community has not previously had reason to ask: should error-message detail be calibrated differently for AI agents than for humans? We investigate this question through a controlled experiment using Shplait, an ML-style statically typed language. We construct a suite of programs containing a single deliberate type error each, and measure how often an AI agent repairs them under ablation: a detailed error context using the unification stack; a proximate error location; a minimal type error; and a dynamic (test suite) error only. An automated oracle uses a test suite to classify each repair attempt as a type error, semantically incorrect, or semantically correct. We find concrete evidence that more detailed error messages improve an agent's ability to fix type errors. We also find that the presence of a type system appears to help more than only test suite failure reports. As a secondary finding, in cases where an agent successfully fixes the type error, the resulting program passes all semantic tests most of the time -- lending empirical support to a widely held folk belief about typed languages. We also see evidence that leading agents are able to correctly reconstruct the meaning of programs in which all names have been obfuscated.