Fetching from the wire…
Public story · 2026-07-21 · high
Coverage improves in just 35.9% of Java PRs and 22.5% of Python ones even when agents do write tests, per the ICSME 2026 study.
Why now: TRIM's authors submitted their trajectory-minimization paper July 20, four days after Amjad Masad published Replit's productivity numbers on July 16.
Agents modify tests in only 49.6% of pull requests that touch testable code, per a new ICSME 2026 study of 4,882 agent-authored PRs. That's the floor: when agents do write tests, coverage improves in just 35.9% of Java submissions and 22.5% of Python ones.
Dipongkor, Baral, Lam and Moran built the study on AIDev: 532 Java pull requests, 4,350 Python. Existing suites cover 61.5% of changed lines in Java, but just 27.0% in Python.
The worst gap is error handling. Agents leave it untested 86.0% of the time in Java, 81.0% in Python.
I recognize this from my own work, which is the part that bothers me. Agent PRs read clean, so the reflex that fires in review is this looks fine. The paper says that reflex is wrong about exactly one thing, the paths that only run when something breaks.
A second paper, TRIM, comes from Google DeepMind and Columbia authors who submitted it July 20. It tackles a related problem: agents accumulate CodeSlop, speculative edits and abandoned code left over from their own search process.
TRIM cuts that residue 17.9-32.9% across agent frameworks by minimizing the agent's search trajectory instead of the final diff. That costs roughly half of Delta Debugging's validation overhead.
Together, the two papers say diff review fails twice. It misses untested failure paths, and it misses search residue, because both look clean in the finished diff.
Amjad Masad published Replit's own numbers July 16: a 5.8x increase in lines of code contributed January to June. A review agent saved 30% of human review time on top of that.
Those numbers are credible and first-party, and they're still true alongside error handling going untested 86% of the time in Java. That's a specific kind of debt, and it comes due at 3am.
The fix for Monday: gate any agent PR touching error handling on a test that exercises the error path, no exceptions. Wire coverage delta into CI and fail builds on regression instead of just reporting it.
Each link below shares sources, entities, or timing with this story.
Databricks invested in Replit / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Databricks invested in Replit); both cover July, Those; overlapping topics (agent, code).
SaaStr uses Replit / Shared entity: Replit / Shared topic / Earlier coverage
Linked by a graph relationship (SaaStr uses Replit); both cover Replit; overlapping topics (agent, code).
Linked by a graph relationship (SaaStr uses Replit); both cover Replit; overlapping topics (agent, code).
Accenture invested in Replit / Shared entity: Replit / Shared topic / Earlier coverage
Linked by a graph relationship (Accenture invested in Replit); both cover Replit; overlapping topics (agent, code).
SaaStr uses Replit / Shared entity: Those / Shared topic / Earlier coverage
Linked by a graph relationship (SaaStr uses Replit); both cover Those; overlapping topics (agent, code, test).
John Jumper works at Google DeepMind / Shared entity: Google DeepMind / Shared topic / Earlier coverage
Linked by a graph relationship (John Jumper works at Google DeepMind); both cover Google DeepMind; overlapping topics (agent, code, coverage).
Atlassian partners with Replit / Shared entity: Monday / Earlier coverage / Tension
Linked by a graph relationship (Atlassian partners with Replit); both cover Monday; earlier Monday coverage from 2026-07-19.
Claude Code uses Python / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code uses Python); both cover July, Python; overlapping topics (agent, code, test).