Beyond Isolated Tasks: A Framework for Evaluating Coding Agents on Sequential Software Evolution
Organizations: Fujitsu Research
Abstract
Existing datasets for coding agents evaluate performance on isolated, single pull request (PR) tasks in a stateless manner, failing to capture the reality of real-world software development where code changes accumulate, technical debt accrues, and test suites grow over time. To bridge this gap, we introduce an automated coding task generation framework, which helps generate our dataset SWE-STEPS, that evaluates coding agents on long-horizon tasks through two realistic settings mirroring actual developer workflows: Conversational coding with iterative requests, and single-shot Project Requirement document (PRD)-based coding. Unlike existing datasets that evaluate agents on disjointed Pull Requests (PRs), our framework assesses performance across chains of dependent PRs, enabling evaluation of sequential execution, regression verification, and long-term repository health. We discover that widely used isolated PR evaluations yield inflated success rates, w.r.t. our settings - overshooting performance by as much as 20 percentage points - because they ignore the ``spillover'' effects of previous inefficient or buggy code. Furthermore, our analysis reveals that even when agents successfully resolve issues, they degrade repository health by generating code with higher cognitive complexity and technical debt compared to human developers, underscoring the necessity for multidimensional evaluation.
Figures & tables
| Dataset | Repository | Execution | Real-World | Sequential | Repository | Dependent | Regression |
| Level | Environment | Tasks | Evolution | Health Analysis | Tasks | Verification | |
| CodeFeedback Zheng et al. (2024) | ✓ | ||||||
| APPS Hendrycks et al. (2021) | ✓ | ✓ | |||||
| HumanEval Chen (2021) | ✓ | ✓ | |||||
| MBPP Austin et al. (2021) | ✓ | ✓ | |||||
| R2E Jain et al. (2025) | ✓ | ✓ |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Total PRs | PR Success | Avg Cost | ||||||
| PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | Passed | Rate | Per Task ($) | ||
| /10 | /2 | /8 | /2 | /7 | /2 | /15 | /2 | /20 | /5 | /20 | /2 | /80 | ||||
| Gemini 3 PRO | 9 | 1 | 2 | 0 | 5 | 0 | 8 | 0 | 8 | 0 | 11 | 0 | 43 | 53.75 | 14.15 | |
| Claude Sonnet 4.5 | 8 | 0 | 3 | 0 | 7 | 2 | 10 | 0 | 11 | 0 | 14 | 0 | 53 | 66.25 | 14.27 | |
| GPT 5.2 Chat | 9 | 1 | 2 | 0 | 6 | 1 | 10 | 0 | 7 | 0 | 11 | 0 | 45 | 56.25 | 4.64 | |
| Gemini 3 Flash | 6 | 0 | 3 | 0 | 7 | 2 | 10 | 0 | 7 | 0 | 8 | 0 | 41 | 51.25 | 2.97 | |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Total | PR Success | Avg Cost | ||||||
| PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | Passsed | Rate | Per Task ($) | ||
| /25 | /4 | /24 | /7 | /45 | /8 | /78 | /13 | /55 | /12 | /49 | /6 | /276 | ||||
| GPT 5.1 Codex Mini | 16 | 0 | 6 | 0 | 31 | 1 | 27 | 0 | 25 | 0 | 15 | 0 | 120 | 43.48 | 3.73 | |
| Individual | Gemini 3 Flash | 17 | 1 | 12 | 1 | 35 | 2 | 46 | 1 | 25 | 0 | 21 | 0 | 156 | 56.52 | 2.79 |
| GPT 5.1 Codex Mini | 12 | 1 | 4 | 0 | 15 | 0 | 18 | 0 | 17 | 0 | 5 | 0 | 71 | 25.72 | 5.12 | |
| Global | Gemini 3 Flash | 12 | 0 | 11 | 2 | 23 | 1 | 31 | 1 | 16 | 0 | 8 | 0 | 101 | 36.59 | 4.32 |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Average | |||||||
| P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | ||
| /146 | /8 | /170 | /16 | /80 | /64 | /954 | /31 | /650 | /50 | /812 | /18 | /2812 | /187 | ||
| Gemini 3 PRO | 99.32 | 100.00 | 67.06 | 50.00 | 100.00 | 96.88 | 63.94 | 41.94 | 56.31 | 42.00 | 95.07 | 44.44 | 74.22 | 64.17 | |
| Claude Sonnet 4.5 | 92.47 | 87.50 | 54.12 | 56.25 | 100.00 | 100.00 | 100.00 | 38.71 | 78.46 | 78.00 | 100.00 | 61.11 | 91.86 | 75.93 | |
| GPT 5.2 Chat | 100.00 | 75.00 | 67.65 | 43.75 | 100.00 | 42.19 | 95.28 | 35.48 | 65.08 | 30.00 | 99.26 | 55.56 | 88.16 | 40.65 | |
| Gemini 3 Flash | 71.23 | 50.00 | 48.24 | 50.00 | 100.00 | 100.00 | 93.61 | 41.94 | 57.69 | 30.00 | 94.95 | 38.89 | 81.97 | 59.36 | |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Average | |||||||
| P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | ||
| /230 | /34 | /467 | /63 | /1328 | /280 | /3747 | /287 | /2834 | /173 | /1765 | /42 | /10371 | /879 | ||
| GPT 5.1 Codex Mini | 92.17 | 35.29 | 64.03 | 26.98 | 95.33 | 49.64 | 96.32 | 13.24 | 60.09 | 29.48 | 97.34 | 14.29 | 84.92 | 29.92 | |
| Individual | Gemini 3 Flash | 81.74 | 47.06 | 74.95 | 50.79 | 99.70 | 69.29 | 96.77 | 57.84 | 51.73 | 27.97 | 88.05 | 35.71 | 82.04 | 52.45 |
| GPT 5.1 Codex Mini | 79.57 | 41.18 | 63.38 | 20.63 | 78.31 | 33.57 | 93.3 | 4.88 | 47.85 | 27.17 | 96.77 | 11.9 | 77.90 | 21.27 | |
| Global | Gemini 2.5 Flash | 97.39 | 20.59 | 72.38 | 52.38 | 94.73 | 50.71 | 96.93 | 19.51 | 79.78 | 27.75 | 90.71 | 19.05 | 89.81 | 33.45 |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Total | PR Success | Avg Cost | ||||||
| PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | PR | Task | Passsed | Rate | Per Task ($) | ||
| /25 | /4 | /24 | /7 | /45 | /8 | /78 | /13 | /55 | /12 | /49 | /6 | /276 | ||||
| GPT 5.1 Codex Mini | 13 | 0 | 6 | 1 | 22 | 0 | 24 | 0 | 14 | 0 | 6 | 0 | 85 | 30.79 | 0.64 | |
| Individual | Gemini 2.5 Flash | 16 | 0 | 7 | 0 | 22 | 0 | 39 | 1 | 19 | 0 | 22 | 0 | 125 | 45.29 | 0.82 |
| GPT 5.1 Codex Mini | 7 | 0 | 3 | 0 | 7 | 0 | 5 | 0 | 5 | 1 | 1 | 0 | 28 | 10.14 | 0.63 | |
| Global | Gemini 2.5 Flash | 8 | 0 | 2 | 1 | 7 | 0 | 11 | 1 | 4 | 0 | 1 | 0 | 33 | 11.96 | 2.52 |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Average | |||||||
| P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | ||
| /230 | /34 | /467 | /63 | /1328 | /280 | /3747 | /287 | /2834 | /173 | /1765 | /42 | /10371 | /879 | ||
| GPT 5.1 Codex Mini | 40.87 | 47.06 | 32.55 | 19.05 | 54.59 | 43.57 | 26.31 | 15.68 | 15.35 | 12.14 | 13.60 | 16.67 | 25.38 | 25.37 | |
| Individual | Gemini 2.5 Flash | 78.26 | 35.29 | 68.95 | 41.27 | 80.95 | 54.29 | 91.09 | 35.89 | 80.06 | 52.02 | 77.90 | 38.10 | 83.25 | 45.39 |
| GPT 5.1 Codex Mini | 30.87 | 8.82 | 26.34 | 14.29 | 52.03 | 6.07 | 12.06 | 2.44 | 27.83 | 19.65 | 34.45 | 23.81 | 26.36 | 9.10 | |
| Global | Gemini 2.5 Flash | 89.57 | 26.47 | 59.74 | 23.81 | 55.57 | 20.71 | 62.74 | 17.42 | 39.59 | 43.93 | 60.96 | 11.90 | 55.65 | 24.23 |
| Setting | Model | Conan | DVC | Haystack | Moto | Pandas | Sqlglot | Average | |||||||
| P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | P2P | F2P | ||
| /230 | /34 | /467 | /63 | /1328 | /280 | /3747 | /287 | /2834 | /173 | /1765 | /42 | /10371 | /879 | ||
| Individual | GPT 5.1 Codex Mini | 60.00 | 50.00 | 43.25 | 20.63 | 59.04 | 38.93 | 39.20 | 17.07 | 10.87 | 10.98 | 18.47 | 16.67 | 31.11 | 24.34 |
| w/Filepaths | Gemini 2.5 Flash | 71.74 | 41.18 | 71.95 | 50.79 | 79.97 | 53.57 | 45.29 | 31.71 | 46.89 | 16.18 | 81.70 | 54.76 | 58.15 | 38.45 |
| Global | GPT 5.1 Codex Mini | 74.35 | 41.18 | 14.13 | 23.81 | 51.43 | 23.57 | 46.52 | 27.18 | 5.93 | 2.31 | 5.16 | 14.29 | 22.04 | 7.17 |
| w/Filepaths | Gemini 2.5 Flash | 88.70 | 44.12 | 58.67 | 57.14 | 59.26 | 45.71 | 50.76 | 15.68 | 60.52 | 57.80 | 61.93 | 19.05 | 41.26 | 21.39 |
Code Generation Evaluation
Code generation evaluation measures whether AI-produced programs are correct, reliable, secure, efficient, and faithful to their specifications.
See all 214 papers