atlas

Research map / Large language models / Agents, code and math

Co-PatcheR: Collaborative Software Patching with Component-specific Small Reasoning Models

NeurIPS 2025 · Large language models › Agents, code and math · approach: Software engineering agents · 2 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes Co-PatcheR, a collaborative software patching system using three small component-specific reasoning models (Loc-Gen, Val-assert, Val-no-assert) distilled from teacher LLMs with rejection-sampling-filtered data, reaching 46% resolved on SWE-bench-Verified with 3x14B models.

Problem

Training small models for end-to-end software patching struggles because localization, patch generation, and patch validation have different workflows and expertise needs; prior specialized models of 70B+ size reach only ~30-41% on SWE-bench-Verified.

Approach

Decompose patching into component-specific small reasoning models (one model for localization and generation with critique data, two PoC-generation models with and without assertions plus majority-vote selection), trained by SFT on teacher reasoning traces filtered by answer correctness via rejection sampling.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use component-specific collaborative models instead of one end-to-end modelCo-PatcheR · SWE-bench-Verifiedresolved rate: 41% -> 46%Helped
Use Claude-3.7-Sonnet reasoning instead of Claude-3.5-Sonnet non-reasoningOpenHands · SWE-bench-Verifiedresolved rate: 7%Helped
Add rejection sampling to filter incorrect training answers (ablation)Co-PatcheR-Loc · SWE-bench-Verified localizationlocalization accuracyHelped
Add critique training to patch generation (ablation)Co-PatcheR-Gen · SWE-bench-Verifiedpass@1 resolved rateHelped
Add rejection sampling to filter incorrect generation training answers (ablation)Co-PatcheR-Gen · SWE-bench-Verifiedpass@1 resolved rateHelped
Use both Val-assert and Val-no-assert models instead of only Val-no-assert (ablation)Co-PatcheR validation · SWE-bench-Verified validation candidatesresolved rateHelped
Add filtering to Val-no-assert training data (ablation)Val-no-assert · SWE-bench-Verified validation candidatesresolved rateHelped
Add diverse reasoning data from Claude-3.7-Sonnet and o4-mini (ablation)Val-no-assert · SWE-bench-Verified validation candidatesresolved rateHelped
Use PoC tests together with functionality tests (ablation)Co-PatcheR validation · SWE-bench-Verified validation candidatesresolved rateHelped
Train one model for localization and generation instead of separate models (ablation)Co-PatcheR · SWE-bench-VerifiedperformanceNo clear effect
Increase training data from 500 to 1K samples (ablation)Co-PatcheR-Gen · SWE-bench-Verifiedpass@1 resolved rateHelped
Increase generation model size from 14B to 32B (ablation)Co-PatcheR-Gen · SWE-bench-Verifiedpass@1 resolved rateHelped

Surprising findings

Limitations

Experimental setup

Datasets: SWE-bench training set SWE-Gym

Benchmarks: SWE-bench-Verified

Metrics: resolved rate (best@k) top@5 file and line localization accuracy pass@1 resolved rate pass@K inference wall-clock time tokens generated

Baselines: Claude-3.5-Sonnet Claude-3.7-Sonnet OpenHands Agentless PatchPilot SWE-RL-70B SWE-Fixer-72B SoRFT-32B Lingma-SWE-GPT-72B GPT-4o o4-mini Qwen-2.5-Coder-14B

Builds on: PatchPilot Agentless S1 SWE-Gym PPO GRPO

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy