← Neueste Arbeiten
💻 computer science

SWE-Refactor: A Repository-Level Benchmark for Real-World LLM-Based Code Refactoring

Dieses Paper stellt SWE-Refactor vor, einen umfassenden Repository-weiten Benchmark bestehend aus 1.099 validierten Java-Refactorings, der darauf ausgelegt ist, die Einschränkungen bestehender Datensätze zu überwinden und die Fähigkeiten von neun LLMs zu evaluieren, wobei sich zeigt, dass aktuelle Modelle bei komplexen, zusammengesetzten Refactoring-Aufgaben erheblich Schwierigkeiten haben.

Ursprüngliche Autoren: Yisen Xu, Jinqiu Yang, Tse-Hsun, Chen

Veröffentlicht 2026-02-04
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Yisen Xu, Jinqiu Yang, Tse-Hsun, 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 hätten eine riesige, alte Bibliothek voller Bücher, die in einer sehr spezifischen Sprache (Java) geschrieben sind. Die Bücher funktionieren perfekt, aber die Geschichten sind unordentlich: Kapitel sind zu lang, Charaktere haben verwirrende Namen und einige Szenen sind über verschiedene Räume verstreut. Code-Refactoring ist der Prozess, diese Bücher aufzuräumen, um sie lesbarer und wartbarer zu machen, ohne dabei die eigentliche Geschichte oder das Ende zu verändern.

Lange Zeit haben wir Computern (speziell Large Language Models oder LLMs) beigebracht, wie man neue Geschichten von Grund auf schreibt. Aber den Computern beizubringen, wie man bestehende Geschichten aufräumt, ohne die Handlung zu zerstören, ist viel schwieriger.

Dieses Paper stellt SWE-Refactor vor, eine neue „Prüfung“, die darauf ausgelegt ist, zu testen, wie gut diese KI-Computer Code aufräumen können. Hier ist die Aufschlüsselung in einfachen Worten:

1. Das Problem: Die alten Prüfungen waren fehlerhaft

Früher versuchten Forscher, KI beim Code-Aufräumen zu testen, aber die Tests hatten drei große Probleme:

  • Zu einfach: Sie baten die KI nur um winzige, einstufige Korrekturen (wie das Umbenennen einer einzelnen Variable) und ignorierten komplexe Aufgaben, die erfordern, dass ganze Kapitel umgestellt werden.
  • Verrauschte Daten: Manchmal war die „richtige Antwort“, die für den Test bereitgestellt wurde, nicht nur eine Bereinigung, sondern enthielt auch Fehlerbehebungen oder das Hinzufügen neuer Funktionen. Dies verwirrte die KI: „Soll ich das Zimmer aufräumen oder auch die Wände streichen?“
  • Fehlender Kontext: Echter Code ist wie ein Netz; die Änderung einer einzigen Zeile kann oft zehn andere beeinflussen. Alte Tests gaben der KI nicht genug vom „großen Ganzen“ (der ganzen Bibliothek), um die Verbindungen zu verstehen.

2. Die Lösung: Ein echter Trainingsplatz für die KI

Die Autoren bauten SWE-Refactor, einen massiven, hochwertigen Trainingsplatz und eine Prüfung.

  • Echte menschliche Arbeit: Anstatt künstliche Beispiele zu erfinden, schauten sie sich 18 echte, populäre Java-Softwareprojekte an. Sie fanden 1.099 Fälle, in denen menschliche Entwickler Code erfolgreich aufgeräumt hatten.
  • Reine Bereinigung: Sie setzten spezielle Werkzeuge ein, um alle Änderungen herauszufiltern, die nicht nur das Aufräumen betrafen. Wenn ein Entwickler beim Aufräumen einen Bug behob, wurde dieses Beispiel aussortiert. Sie behielten nur die „reinen“ Bereinigungen.
  • Die ganze Bibliothek: Sie gaben der KI nicht nur eine einzelne Seite; sie gaben ihr das ganze Buch, die Karte der Bibliothek und die Liste, wer was liest, damit die KI den Kontext versteht.
  • Der „Goldstandard“-Check: Um sicherzustellen, dass die KI nicht schummelt, überprüften sie drei Dinge:
    1. Kompiliert der Code noch (halten die Seiten zusammen)?
    2. Bestehen alle Tests weiterhin (ergibt die Geschichte noch Sinn)?
    3. Hat die KI tatsächlich die spezifische Reinigungsaufgabe durchgeführt, die angefordert wurde, oder hat sie einfach nur irgendetwas geschrieben, das funktionierte?

3. Die Prüfungsergebnisse: KI ist gut bei kleinen Aufgaben, schlecht bei großen

Die Autoren testeten 9 verschiedene KI-Modelle (einschließlich berühmter Modelle wie GPT-4o und DeepSeek) auf dieser neuen Prüfung.

  • Die Generalisten gewinnen: Die großen, universell einsetzbaren KI-Modelle (wie GPT-4o) schnitten deutlich besser ab als die kleineren, spezialisierten Coding-Modelle. Es scheint, dass das Verständnis des „großen Ganzen“ wichtiger ist als nur das Wissen über die Syntax.
  • Einfach vs. Komplex: Die KI war passabel bei einfachen, einstufigen Bereinigungen (wie „Extract Method“, was so ist, als würde man einen Absatz aus einem langen Kapitel nehmen und daraus ein neues, kurzes Kapitel machen).
  • Die zusammengesetzte Herausforderung: Die KI hatte signifikante Schwierigkeiten mit zusammengesetzten Refactorings (compound refactorings). Dies sind Aufgaben, die mehrere Schritte gleichzeitig erfordern, wie zum Beispiel: „Nimm diesen Absatz, verschiebe ihn in ein anderes Kapitel und benenne den Charakter um.“
    • Die Analogie: Stellen Sie sich vor, Sie bitten einen Roboter, ein schweres Sofa zu bewegen. Das kann er. Aber wenn Sie ihn bitten: „Bewege das Sofa, streiche die Wand dahinter und arrangiere den Teppich neu“, vergisst er oft einen Schritt oder vermasselt die Reihenfolge.
    • Die Statistik: Selbst eine sehr fortgeschrittene KI-Agentur (OpenAI Codex) war bei diesen komplexen, mehrstufigen Aufgaben nur in etwa 39 % der Fälle erfolgreich.

4. Wie man der KI zum Erfolg verhilft

Die Autoren testeten auch, ob es helfen würde, der KI mehr Unterstützung zu geben:

  • Retrieval (RAG): Der KI Beispiele ähnlicher Bereinigungen zu geben, half ein wenig.
  • Multi-Agent-Workflow (Der Team-Ansatz): Dies war der Gewinner. Anstatt dass eine einzige KI die Arbeit erledigt, setzten sie ein „Entwickler-KI“ ein, um den Code zu schreiben, und eine „Reviewer-KI“, um den Code zu kritisieren und um Änderungen zu bitten. Dieser „Team-Ansatz“ löste die meisten Probleme und zeigte, dass die KI ihre eigene Arbeit überprüfen muss, um komplexe Aufgaben bewältigen zu können.

Zusammenfassung

SWE-Refactor ist ein neuer, strenger und realistischer Test für das Code-Refactoring durch KI. Er beweist, dass KIs zwar gut bei kleinen Code-Korrekturen werden, aber immer noch Schwierigkeiten mit komplexen, mehrstufigen Renovierungen haben, die ein Verständnis dafür erfordern, wie verschiedene Teile eines Softwareprojekts miteinander verbunden sind. Die Autoren haben alle ihre Daten und Ergebnisse veröffentlicht, damit andere Forscher diesen „Trainingsplatz“ nutzen können, um die KI der Zukunft besser zu trainieren.

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 →