← Neueste Arbeiten
💻 computer science

RefactorAssist: Agentic Refinement for Reliable Code Refactoring

Dieses Paper stellt RefactorAssist vor, ein agentisches Framework, das statische Reparatur mit iterativer, testgesteuerter Verfeinerung unter Verwendung von Fehlerprotokollen und Kontextabruf kombiniert, um die funktionale Korrektheit und Zuverlässigkeit von LLM-generierten Code-Refactorings signifikant zu verbessern.

Ursprüngliche Autoren: Jonathan Cordeiro, Shayan Noei, Ying Zou

Veröffentlicht 2026-08-04
📖 7 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Jonathan Cordeiro, Shayan Noei, Ying Zou

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 sind ein Meisterarchitekt, der Jahre damit verbracht hat, ein prächtiges, komplexes Schloss zu entwerfen. Stellen Sie sich nun vor, Sie stellen einen superintelligenten, unglaublich schnellen Roboter-Assistenten ein, um Ihnen bei der Renovierung dieses Schlosses zu helfen. Ihr Ziel ist es nicht, die Funktionsweise des Schlosses zu ändern – Menschen müssen immer noch von der Küche ins Schlafzimmer gelangen können, ohne durch den Boden zu fallen –, sondern die Flure breiter, die Räume heller und die Struktur wartungsfreundlicher zu machen. Dies ist die Welt des Code-Refactorings: der Prozess, Computercode aufzuräumen und neu zu organisieren, um ihn besser zu machen, ohne die Software, die er ausführt, zu beschädigen.

Lange Zeit verfügten wir über Werkzeuge, die wie einfache Rechtschreibprüfungen für Code fungieren und auf unordentliche Formatierungen oder offensichtliche Fehler hinweisen. Doch vor kurzem ist eine neue Art von „Roboter“ eingetroffen: Large Language Models (LLMs). Betrachten Sie diese als KI-Assistenten, die fast jedes Buch, jedes Handbuch und jede Bedienungsanleitung gelesen haben. Sie sind fantastisch darin, neue Geschichten zu schreiben oder kaputte Sätze zu korrigieren. Wenn Sie sie jedoch bitten, ein komplexes Schloss zu renovieren (ein Softwareprojekt), werden sie manchmal etwas zu kreativ. Sie könnten eine Wand versetzen, die das Dach stützt, oder eine Tür so umbenennen, dass jeder, der die Küche sucht, verwirrt wird. Die große Frage für Wissenschaftler und Ingenieure ist: Können wir diesen KI-Robotern bei der Renovierung vertrauen, oder brauchen sie einen menschlichen Aufseher, der ihre Arbeit doppelt prüft?

Genau dies untersucht die Arbeit „RefactorAssist: Agentic Refinement for Reliable Code Refactoring“. Die Forscher Jonathan Cordeiro, Shayan Noei und Ying Zou wollten herausfinden, ob diese KI-Roboter Code reparieren können, ohne ihn zu beschädigen, und ob sie – falls sie doch etwas beschädigen – ein intelligenter „Reparatur-Agent“ ihre Fehler beheben kann.

Der erste Versuch des Roboters: Ein gemischtes Ergebnis

Das Team begann damit, verschiedene KI-Modelle (darunter Open-Source-Modelle wie StarCoder2 und leistungsstarke kommerzielle Modelle wie GPT-4o) zur Durchführung von Renovierungen an realen Java-Softwareprojekten einzusetzen. Sie behandelten die Software wie ein Lebewesen mit einem eingebauten „Gesundheitskontrollsystem“ namens Unit-Tests. Diese Tests sind wie eine Reihe von Kontrollpunkten: Wenn der Code korrekt geändert wurde, besteht der Roboter den Test; wenn der Roboter versehentlich eine Funktion beschädigt, schlägt der Test fehl.

Die Ergebnisse waren ein kleiner Schock. Selbst die besten KI-Modelle, wie GPT-4o, schafften es nur in etwa 80,8 % der Fälle, die Renovierung korrekt durchzuführen. Das bedeutet, dass die KI in fast einem von fünf Fällen versuchte, den Code zu verbessern, aber versehentlich etwas beschädigte, was dazu führte, dass die Software ihre Gesundheitschecks nicht bestand. Die Forscher fanden heraus, dass es nicht viel half, der KI einfach nur mehr Beispiele dafür zu geben, wie man renoviert (eine Technik namens „Few-Shot Prompting“). Das Problem war nicht, dass die KI nicht wusste, wie man renoviert; es war, dass sie den Kontext nicht gut genug verstand, um subtile, gefährliche Fehler zu vermeiden.

Warum scheiterten die Roboter?

Um herauszufinden, was schiefgelaufen war, agierten die Forscher wie Detektive, die die „Tatorte“ des fehlerhaften Codes untersuchten. Sie entdeckten, dass die Fehler der KI in acht Hauptkategorien fielen, wobei die häufigsten waren:

  1. Halluzinationen und Kontextverwirrung (24,3 %): Die KI erfand neue Funktionen oder änderte Dinge, die gar nicht geändert werden mussten, weil sie die Geschichte des Codes missverstand.
  2. Inkonsistente Umbenennung (15,3 %): Die KI benannte eine Variable (wie eine „Tür“ in ein „Tor“ umzubenennen) an einer Stelle um, vergaß aber, den Namen überall sonst zu aktualisieren, was den Code verwirrte.
  3. Hinzufügen von Neuem (13,7 %): Die KI fügte versehentlich neue Variablen oder Funktionen hinzu, die dort nicht vorgesehen waren.
  4. Unvollständiger Code (11,3 %): Die KI hörte mitten im Schreiben des Codes auf und ließ Teile offen.
  5. Syntax- und Strukturfehler (9,7 %): Grundlegende Fehler wie das Vergessen einer schließenden Klammer oder eines Semikolons.
  6. Grenzfälle (9 %): Die KI vergaß seltene Situationen zu berücksichtigen, wie zum Beispiel, was passiert, wenn ein Benutzer eine Null statt einer Zahl eingibt.
  7. Typ-Handhabung (8,7 %): Vermischung verschiedener Datentypen, wie etwa der Versuch, eine Textnachricht in ein Zahlenfeld zu legen.
  8. Scope-Probleme (8 %): Der Versuch, eine Variable an einem Ort zu verwenden, an dem sie nicht existiert.

Einzug von RefactorAssist: Der Super-Inspektor

Die Forscher erkannten, dass es nicht ausreichte, die KI einfach nur noch einmal bitten zu lassen, es erneut zu versuchen. Sie brauchten ein System, das diese Fehler erkennen und automatisch beheben konnte. So entwickelten sie RefactorAssist, einen intelligenten „Reparatur-Agenten“, der wie ein zweistufiger Qualitätskontrolleur fungiert.

Stufe 1: Die schnelle Korrektur (Statische Reparatur)
Bevor sie die KI überhaupt erneut fragen, führt RefactorAssist eine schnelle, regelbasierte Prüfung durch. Es ist wie eine Rechtschreibprüfung, die nicht die Geschichte verstehen muss, sondern nur die Grammatik. Sie behebt offensichtliche Dinge wie fehlende Imports, unausgewogene Klammern und einfache Typfehler. Dieser Schritt ist kostengünstig und schnell, da er nicht das schwere KI-Gehirn beansprucht. Überraschenderweise behob dieser einfache Schritt einen großen Teil der Probleme und steigerte die Erfolgsquote von 66,1 % auf 74,4 % (und bis zu 80,3 % in ihrer besten Konfiguration) allein durch die Bereinigung der Syntax.

Stufe 2: Die Detektivarbeit (Agentische Reparatur)
Für den verbleibenden fehlerhaften Code (die Fälle, die nach der schnellen Korrektur immer noch fehlschlugen) schaltet RefactorAssist in den „Agenten-Modus“. Es sammelt alle Beweise: die Fehlermeldungen der fehlgeschlagenen Tests, die spezifischen Änderungen, die die KI vorgenommen hat (das „Diff“), und den umgebenden Code-Kontext. Dann bittet es eine leistungsstarke KI (wie GPT-4o), als Detektiv zu agieren, den Grund für den Fehler zu erklären und einen Lösungsvorschlag zu machen. Dieser Detektiv rät nicht einfach nur; er nutzt die Beweise, um die Reparatur zu leiten.

Die Ergebnisse dieses zweistufigen Prozesses waren beeindruckend. Nach dem ersten KI-Versuch, der statischen Korrektur und der anschließenden iterativen Detektivarbeit stieg die Erfolgsquote auf ganze 94,2 %. Entscheidend war, dass das System 70,8 % der Fehler beheben konnte, die nach dem ersten Schritt der statischen Reparatur übrig geblieben waren. Das bedeutet, dass für die Teilmenge der Renovierungen, die die KI vermasselt hatte und die die Grammatikprüfung nicht beheben konnte, der RefactorAssist-Detektiv-Agent den Großteil der Fälle erfolgreich wiederherstellte, was die Gesamterfolgsquote auf nahezu perfekt brachte.

Was funktionierte nicht?

Die Forscher testeten auch einige Ideen, von denen sie dachten, dass sie helfen könnten, die sich jedoch als weniger nützlich erwiesen. Beispielsweise probierten sie ein „Retrieval“-System aus, das das gesamte Projekt nach zusätzlichem Kontext durchsucht, um der KI mehr Hintergrundinformationen zu geben. Dies half zwar ein wenig in den ersten Sekunden der Fehlerbehebung, half der KI jedoch langfristig nicht dabei, die schwierigsten Probleme zu lösen. Die Arbeit legt nahe, dass eine klare, präzise Erklärung darüber, warum etwas fehlschlug (die „Diagnose“), weitaus wichtiger ist als eine massive Menge an zusätzlichem Kontext.

Das Fazleit

Diese Arbeit behauptet nicht, dass KI bereits in der Lage ist, Code perfekt eigenständig zu refactoren. Tatsächlich beweist sie, dass die KI ohne Hilfe in etwa 20 % der Fälle Fehler macht. Sie zeigt jedoch, dass wir durch die Kombination einer einfachen, schnellen „Grammatikprüfung“ mit einem intelligenten, evidenzbasierten „Detektiv-Agenten“ die meisten dieser Fehler beheben können.

Das Hauptergebnis ist, dass RefactorAssist eine unordentliche, fehlerhafte KI-generierte Renovierung nehmen und sie in ein sicheres, funktionierendes Code-Update mit einer Erfolgsquote von 94,2 % verwandeln kann. Es deutet darauf hin, dass die Zukunft der Softwareentwicklung nicht nur darin besteht, eine intelligentere KI zu haben, sondern ein Team aufzubauen, in dem die KI die schwere Arbeit erledigt und ein spezialisierter Reparatur-Agent die Fehler abfängt, bevor sie den Nutzer erreichen. Es ist eine Erinnerung daran, dass selbst superintelligente Roboter ein gutes Qualitätskontroll-Team brauchen, um ihre beste Arbeit zu leisten.

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 →