SpecBench: Evaluating Specification-Level Reasoning for Software Engineering LLM Agents
This paper introduces SpecBench, a new benchmark that evaluates the ability of software engineering agents to identify flaws and improve incomplete or ambiguous system specifications through expert-level reasoning, addressing a critical gap left by existing code-generation-focused benchmarks.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
The Big Picture: From "Building" to "Blueprinting"
Imagine you are hiring a robot to build a house.
- Old Benchmarks (like SWE-Bench): These tests give the robot a perfect, detailed blueprint and ask, "Can you build the wall exactly as drawn?" The robot just needs to lay the bricks. If the blueprint says "red brick," the robot lays a red brick.
- The Real World Problem: In real life, the blueprint you start with is often messy. It might say "put a door here" without specifying if it's a front or back door, or it might forget to mention that the foundation needs to be deeper because of the soil type. If the robot just starts building based on that messy blueprint, the house might collapse later.
- The New Benchmark (SpecBench): This paper introduces a test that doesn't ask the robot to build the house. Instead, it asks the robot to read the messy blueprint and point out the mistakes before construction begins. It tests the robot's ability to say, "Hey, this plan is missing a door," or "This wall will hit a tree," or "You didn't say what kind of wood to use."
What is SpecBench?
SpecBench is a new test designed to evaluate how well AI agents (smart computer programs) can reason about software specifications.
In software engineering, before anyone writes code, they write a "specification" (a plan). In big projects like Linux, Kubernetes, or React, these plans go through a process called an RFC (Request for Comments). This is like a town hall meeting where experts argue, critique, and refine the plan until it's perfect.
SpecBench simulates this town hall meeting. It gives an AI:
- The initial, messy plan (the RFC).
- The history of how the project has worked in the past.
- The current code of the project.
The AI's job is to act like a senior engineer and find the flaws in the plan. It needs to find things that are:
- Missing: "You forgot to say what happens if the internet cuts out."
- Confusing: "You said 'fast,' but did you mean 1 second or 1 minute?"
- Contradictory: "You said this feature is safe, but it breaks that other rule."
- Wrong: "This idea conflicts with how we've always done things."
How Did They Build the Test?
The researchers looked at five real-world software giants: Kubernetes, React, Rust, TVM, and vLLM.
They took real historical documents where people proposed new features. They then looked at the actual discussions where human experts tore those proposals apart and found the holes. These "holes" became the Golden Set (the correct answers).
The Challenge of "Human Variance":
Sometimes, one expert cares about speed, while another cares about security. To handle this, the researchers used a panel of AI judges to vote on which criticisms were the most important. They separated the flaws into two groups:
- Core Flaws: The big, obvious mistakes that almost everyone agrees on (like a missing foundation).
- Extended Flaws: Smaller, more nuanced issues that some experts might catch and others might miss.
The "Open World" Problem:
In a coding test, if the robot writes the wrong code, it fails. But in a planning test, the robot might find a new flaw that the original humans missed. The researchers decided: "If the robot finds a flaw that isn't in our answer key, we can't say it's wrong, but we can't give it credit either." So, they gave the robot a limited number of guesses (a budget) and only scored it on how many of its guesses matched the known "Golden" flaws.
How Did the AI Do?
The researchers tested the smartest AI agents available (like GPT-5.4, Claude, and Codex).
- The Score: The best AI got about 44.4% accuracy.
- What this means: Even the smartest AI is still missing more than half of the critical flaws in complex software plans. They are getting better at writing code, but they are still not very good at planning code.
- The Gap: The AI was much better at finding the "Core" flaws (the big, obvious ones) than the "Extended" flaws (the subtle, tricky ones).
Why Does This Matter?
Currently, we have AI that is great at following instructions (Implementation). We don't yet have AI that is great at designing the instructions (Specification).
This paper shows that while AI is getting good at being a "bricklayer," it is still struggling to be the "architect." If we want AI to run entire software projects, it needs to learn how to spot the holes in the plan before the first line of code is written.
In short: SpecBench is a report card showing that our AI architects are still learning how to read the blueprints before they start building.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.