← Neueste Arbeiten
🤖 AI

BoostAPR: Boosting Automated Program Repair via Execution-Grounded Reinforcement Learning with Dual Reward Models

BoostAPR ist ein dreistufiges Framework, das die automatisierte Programmkorrektur verbessert, indem es überwachtes Fine-Tuning mit ausführungsverifiziertem Reasoning und dualen Belohnungsmodellen kombiniert, um eine feinkörnige, zeilenweise Kreditvergabe während des Reinforcement Learning zu ermöglichen, und damit state-of-the-art-Leistung sowie starke sprachübergreifende Generalisierung über mehrere Benchmarks hinweg erzielt.

Ursprüngliche Autoren: Yuanhao Li, Hongbo Wang, Xiaotang Shang, Xunzhu Tang, Yiming Cao, Xuhong Chen

Veröffentlicht 2026-05-12
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Yuanhao Li, Hongbo Wang, Xiaotang Shang, Xunzhu Tang, Yiming Cao, Xuhong Chen

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie versuchen, einem sehr klugen, aber etwas ungeschickten Lehrling beizubringen, wie man eine defekte Maschine repariert. Die Maschine ist ein Stück Computercode, und der „Defekt" ist ein Fehler, der dazu führt, dass er einen Test nicht besteht.

Lange Zeit haben wir versucht, diesen Lehrlingen (KI-Modellen) beizubringen, indem wir ihnen Beispiele für defekte Maschinen und deren Reparaturen zeigten. Doch es gibt ein Problem: Wenn der Lehrling einen Reparaturversuch unternimmt, funktioniert die Maschine entweder perfekt oder sie explodiert. Sie sagt dem Lehrling nicht, welche spezifische Schraube sie angezogen oder welches Kabel sie durchtrennt haben, was den Unterschied ausmachte. Sie erhalten lediglich eine binäre Rückmeldung: „Gute Arbeit" oder „Schlechte Arbeit". Dies macht das Lernen langsam und frustrierend.

Die Arbeit stellt ein neues System namens BOOSTAPR vor, um dieses Problem zu lösen. Stellen Sie es sich als ein dreistufiges Trainingslager vor, das diesen ungeschickten Lehrling in einen Meistermechaniker verwandeln soll.

Schritt 1: Die „Denken-dann-Handeln"-Hausaufgabe (Supervised Fine-Tuning)

Zunächst zeigt das System dem Lehrling nicht nur die endgültige Reparatur. Es zeigt ihm stattdessen das Notizbuch eines Meistermechanikers.

  • Die Analogie: Stellen Sie sich vor, ein Meistermechaniker gibt Ihnen nicht einfach den reparierten Motor; er schreibt zuerst seinen Denkprozess auf: „Ich habe bemerkt, dass das Geräusch von links kam, also habe ich den Riemen überprüft, festgestellt, dass er locker war, und ihn festgezogen."
  • Die Behauptung der Arbeit: Die KI wird auf „ausführungsüberprüften Demonstrationen" trainiert. Das bedeutet, sie lernt nur aus Beispielen, bei denen der Meistermechaniker das Problem tatsächlich behoben und seine Überlegungen niedergeschrieben hat. Die KI lernt nicht nur was zu ändern ist, sondern wie man über das Problem nachdenkt.

Schritt 2: Einstellung zweier verschiedener Trainer (Dual Reward Models)

Sobald der Lehrling mit dem Üben beginnt, benötigt er Feedback. In der Vergangenheit sagte der Trainer einfach: „Dieser Patch hat funktioniert!" oder „Dieser Patch ist gescheitert!" Die Arbeit besagt, dass dies zu vage ist. Daher stellen sie zwei spezialisierte Trainer ein:

  1. Der „Großbild"-Trainer (RseqR_{seq}): Dieser Trainer betrachtet den gesamten Reparaturjob. Läuft die Maschine? Ja oder Nein? Er vergibt eine Punktzahl für den gesamten Patch.
  2. Der „Mikroskop"-Trainer (RlineR_{line}): Dies ist die neue, geheime Zutat. Dieser Trainer betrachtet die Reparatur zeilenweise.
    • Die Analogie: Stellen Sie sich vor, der Lehrling hat den Motor repariert, aber gleichzeitig das Auto in eine seltsame Farbe gestrichen und den Radiosender geändert. Der „Großbild"-Trainer sagt: „Es läuft, also ist es eine gute Arbeit." Doch der „Mikroskop"-Trainer sagt: „Warten Sie, das Anstreichen und der Radiowechsel haben nicht dazu beigetragen, den Motor zu reparieren. Nur das Festziehen des Riemens hat es getan. Lassen Sie uns den Erfolg dem Riemen zuschreiben, nicht dem Anstrich."
    • Die Behauptung der Arbeit: Dieser Trainer lernt, genau zu identifizieren, welche Codezeilen (die „Bearbeitungsbereiche") den Fehler tatsächlich behoben haben und welche nur Rauschen waren. Er nimmt die „Großbild"-Punktzahl und verteilt das Verdienst auf die spezifischen Zeilen, die wichtig waren.

Schritt 3: Die Probelauf mit intelligentem Feedback (PPO-Optimierung)

Schließlich geht der Lehrling in eine Simulation, um Fehler in Echtzeit zu reparieren.

  • Die Analogie: Jedes Mal, wenn der Lehrling einen Zug macht, sprechen die beiden Trainer miteinander. Der „Mikroskop"-Trainer sagt dem „Großbild"-Trainer: „Vergib nicht nur Punkte für den gesamten Job; gib dem Lehrling zusätzliche Punkte für das Festziehen dieser spezifischen Schraube und null Punkte für das zufällige Tippen, das er dazwischen gemacht hat."
  • Die Behauptung der Arbeit: Die KI verwendet eine Methode namens PPO (eine Art Bestärkungslernen), um ihr Gehirn zu aktualisieren. Da der „Mikroskop"-Trainer so detailliertes Feedback gibt, lernt die KI viel schneller und genauer als wenn sie nur ein generisches „Gut/Schlecht"-Signal erhalten würde.

Die Ergebnisse: Wie gut hat es funktioniert?

Die Autoren haben dieses neue Trainingslager an vier verschiedenen „Garagen" (Benchmarks) getestet, die Tausende von defekten Code-Beispielen enthalten:

  • SWE-bench (Realwelt-GitHub-Fehler): Die KI hat 40,7 % der Fehler behoben. Dies ist ein enormer Sprung von 22,9 % im Vergleich zumselben KI-Modell ohne dieses spezielle Training.
  • Defects4J (Java-Fehler): Obwohl die KI hauptsächlich auf Python trainiert wurde, hat sie erfolgreich 24,8 % der Java-Fehler behoben. Dies zeigt, dass der „Mikroskop"-Trainer dem Lehrling geholfen hat, allgemeine Reparaturfähigkeiten zu erlernen und nicht nur Python-spezifische Tricks.
  • HumanEval-Java & QuixBugs: Es wurden sehr hohe Punktzahlen (84,5 % und 95,0 %) bei diesen spezifischen Programmieraufgaben erreicht.

Warum dies wichtig ist (laut der Arbeit)

Die Arbeit argumentiert, dass der größte Durchbruch nicht nur darin besteht, dass die KI intelligenter geworden ist, sondern wie sie intelligenter geworden ist. Indem sie von „Hat es funktioniert?" (Sequenz-Ebene) zu „Welche spezifischen Zeilen haben es zum Funktionieren gebracht?" (Zeilen-Ebene) übergegangen sind, haben sie eine große Lernengpass gelöst.

Der „Mikroskop"-Trainer (RlineR_{line}) hat nicht allein die schwere Arbeit erledigt; der „Großbild"-Trainer (RseqR_{seq}) hat den Großteil der Arbeit geleistet. Der Mikroskop-Trainer hat jedoch den zusätzlichen Schub geliefert, der notwendig war, um auf neue, schwierige Probleme zu generalisieren, und hat den Trainingsprozess stabiler und effizienter gemacht.

Kurz gesagt: BOOSTAPR lehrt die KI, Code zu reparieren, indem es ihr Expertendenkprozesse zeigt, einen Trainer einstellt, um den gesamten Job zu bewerten, und einen zweiten Trainer einstellt, um jede einzelne gedrehte Schraube zu bewerten, wodurch sichergestellt wird, dass die KI genau lernt, was sie beim nächsten Mal tun soll.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →