🚀NEW LABGetting Started with Claude AgentsStart lab
← All papers  /  Sep 23, 2026
Code

SWE-Proof: Can Language Models Resolve Real-World Issues with Machine-Checked Proofs?

First page
SWE-Proof: Can Language Models Resolve Real-World Issues with Machine-Checked Proofs?
The curator’s take

Ma, Mikek and colleagues (UC Berkeley, Georgia Tech, UIUC and AWS AI Labs) build SWE-Proof, 500 SWE-bench Verified issues whose fixes are checked by machine-verified proofs instead of test suites.

Ask this paper

Key points
01

Benchproofer. The pipeline writes a formal specification for new code, summarizes called functions as axioms, and admits an instance only when mechanical and adversarial gates agree; it also extends to SWE-bench Pro.

02

Tests miss bugs. Across two frontier models, a quarter to a half of test-passing patches admit counterexamples under the formal spec.

03

Specs help if correct. A correct formal specification raises Opus 4.8 resolution from 85% to 95%, while a structured natural-language spec does not fix the problem.

04

Writing specs is hard. Models writing their own specs gain nothing over the unaided baseline and only 62% of their specs pass audit; spec failures occur on 89% of unresolved instances against 47% of resolved ones.

Abstract

Ensuring the correctness of LLM-generated code is a core challenge for modern software engineering. Benchmarks for agentic code generation check correctness with held-out test suites, which are inherently incomplete and increasingly susceptible to memorization. Formal verification avoids both problems, but existing work covers only standalone tasks whose specifications are given as input, not real issues, which touch large repositories and state intent in vague natural language. We present Benchproofer, a pipeline that turns a coding task with a known correct patch into a formally verified one: it writes a specification for the new code, summarizes the existing functions that code calls with axioms, and admits an instance only after mechanical and adversarial gates agree. Applying it to SWE-bench Verified yields SWE-Proof, 500 real issues whose correctness is formally verified rather than tested, and it extends to SWE-bench Pro. Across two frontier models, verification catches what tests miss: a quarter to a half of test-passing patches admit counterexamples, which a structured natural-language specification does not fix, while a correct formal one lifts resolution from 85% to 95% for Opus 4.8. Writing that specification is the hard part: models that must write their own gain nothing over an unaided baseline, and only 62% of their specifications pass our audit. The usual failure is faithfulness, a specification that constrains part of the required behavior and leaves the rest free. Specification quality still tracks the outcome, failing on 89% of unresolved instances against 47% of resolved ones, making faithful specification synthesis a concrete open problem.

Every Monday
Get next week’s papers.
Subscribe on Substack