Paper

Unattended agents wrote the most correct code and the least-tested decisions

Oct 9 Mock & Russo, Empirical Software Engineering: in a TDD experiment the autonomous agentic workflow was fastest and passed ~95% of baseline tests, but added branches the spec never asked for that its own tests left uncovered; humans wrote the better test suites.

Source: Vibe Coding: An experiment with test-driven development (Empirical Software Engineering)

Moritz Mock and Barbara Russo's open-access paper, published Oct 9 in Empirical Software Engineering, compares four ways of running test-driven development on the same two small Python tasks: a human alone, a human writing tests while a model writes the code, a scripted fully automated loop, and an agentic platform (MetaGPT X in single-engineer mode, run repeatedly with GPT-5 and Claude Sonnet 4) left to work with no supervision. The human arms used 16 TDD professionals; everything was scored against a baseline test suite derived from the spec.

The unattended agent won on the numbers people usually watch. It was significantly the fastest and the most functionally correct, averaging a 94.58% baseline test pass rate, while human results swung widely (one collaborative participant hit 100%, another 16.7% after a test that didn't compile). It also kept the core implementation recognisable and then added helper methods, logging, and validation around it.

That extra code is the catch. The agentic solutions had significantly higher cyclomatic complexity, and the baseline tests covered at most 75% of their statements and branches, where many humans reached full branch coverage. The agent's own test suites covered its code worse than solo humans' suites covered theirs, and making the prompt more structured did not fix that. The authors' reading: the agent made implementation decisions the spec never asked for, and left them untested. Humans pairing with the model wrote the better-organised tests, at the cost of constant assertion rework (5.6 of 12.1 iterations on average).

Why it matters for code review

This is a useful complication for anyone running agents around the clock. An unattended loop can look excellent on pass rate and speed while quietly growing surface area nobody specified, and a harness that verifies with the agent's own tests won't see it. The tasks were toy-sized and the human sample small, so take the shape rather than the percentages: if work runs overnight, the review gate should check what the diff adds beyond the ask, not just whether the tests are green, and test design is still where a human's attention pays off.