← Neueste Arbeiten
💻 computer science

CI-Repair-Bench: A Repository-Aware Benchmark for Automated Patch Validation via CI Workflows

Dieser Beitrag stellt CI-Repair-Bench vor, ein repository-spezifischen Benchmark, der auf realen GitHub Actions-Ausführungen basiert und automatisierte Programmreparatur ausschließlich durch vollständige CI-Neuausführung bewertet, wobei sich zeigt, dass LLMs zwar lokalisierte, durch Tools erzwungene Fehler effektiv bewältigen, jedoch bei komplexen Umwelt- und Abhängigkeitsproblemen an ihre Grenzen stoßen.

Ursprüngliche Autoren: Rabeya Khatun Muna (Peter), Md Nakhla Rafi (Peter), Tse-Hsun (Peter), Chen

Veröffentlicht 2026-05-01
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Ursprüngliche Autoren: Rabeya Khatun Muna (Peter), Md Nakhla Rafi (Peter), Tse-Hsun (Peter), 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 sind ein Koch, der ein belebtes Restaurant führt. Sie haben ein komplexes Rezept (Ihren Softwarecode) und einen strengen Satz von Küchenregeln (Ihr Continuous-Integration-System, kurz CI). Jedes Mal, wenn Sie ein Rezept anpassen, überprüft es der automatisierte Inspektor der Küche. Dieser Inspektor schmeckt nicht nur das Essen; er prüft, ob der Herd an ist, ob die Zutaten frisch sind, ob der Koch die Sicherheitsregeln befolgt hat und ob das Anrichten korrekt aussieht.

Manchmal lehnt der Inspektor das Gericht ab. Vielleicht ist das Salz falsch, vielleicht ist die Ofentemperatur nicht richtig, oder vielleicht verlangt das Rezept nach einer Zutat, die nicht mehr im Vorratsschrank ist. Die Behebung dieser Ablehnungen ist schwierig, weil das Problem möglicherweise nicht das Rezept selbst ist, sondern die Kücheneinrichtung oder die Regeln.

Das Problem: Die „Black Box" der Reparatur
Derzeit sind Computerprogramme, die Code reparieren sollen (Automated Program Repair), wie Köche, die nur in das Rezeptbuch schauen. Sie sind hervorragend darin, einen Tippfehler in der Zutatenliste zu korrigieren, versagen jedoch häufig, wenn das Problem darin besteht, dass der Ofen defekt ist, die falschen Gewürze gekauft wurden oder sich die Küchenregeln geändert haben. Bestehende Tests für diese Reparaturprogramme sind zu einfach; sie tun so, als wäre die Küche perfekt, und prüfen nur, ob das Essen schmeckt, wobei sie die chaotische Realität der gesamten Küche ignorieren.

Die Lösung: CI-Repair-Bench
Die Autoren dieses Papiers haben einen neuen, realistischen Trainingsplatz namens CI-Repair-Bench entwickelt. Stellen Sie sich dies als eine „Simulation einer echten, chaotischen Restaurantküche" vor.

  • Echte Daten: Anstelle von erfundenen Problemen sammelten sie 567 echte Beispiele für „abgelehnte Gerichte" aus 103 tatsächlichen Softwareprojekten auf GitHub.
  • Die vollständige Inspektion: Um zu beweisen, dass eine Reparatur funktioniert, führt das System nicht nur einen Geschmackstest durch. Es startet den gesamten Kücheninspektionsprozess erneut: Überprüfung des Herds, der Zutaten, der Sicherheitsregeln und des finalen Geschmacks. Wenn das Gericht bei einer dieser Prüfungen versagt, gilt die Reparatur als gescheitert.
  • Die Vielfalt: Sie kategorisierten die Fehler in 12 Typen, die von „Das Anrichten ist unordentlich" (Formatierung) über „Der Ofen ist defekt" (Umgebungsfehler) bis hin zu „Wir haben nicht das richtige Mehl" (Abhängigkeitsprobleme) reichen.

Das Experiment: Können KI-Köche es reparieren?
Die Forscher testeten vier verschiedene „KI-Köche" (Large Language Models), um zu sehen, ob sie diese abgelehnten Gerichte allein anhand der Notizen des Inspektors (den Fehlerprotokollen) reparieren können.

Hier ist, was sie herausfanden:

  1. Die „leichten" Reparaturen: Die KI war überraschend gut darin, Probleme beim „Anrichten" zu beheben. Wenn der Fehler lautete „Ihr Code ist nicht korrekt formatiert" oder „Sie haben ein Komma vergessen", konnte die KI dies etwa in 35 % der Fälle beheben. Es ist wie ein Koch, der hervorragend darin ist, den Teller sauber abzuwischen.
  2. Die „schweren" Reparaturen: Die KI hatte große Schwierigkeiten mit den komplexen Dingen. Wenn das Problem „der Ofen ist defekt" (Umgebungsprobleme) oder „wir benötigen eine bestimmte Mehlmarke, die nicht installiert ist" (Abhängigkeitsprobleme) war, sank die Erfolgsquote auf nahezu null (oft weniger als 9 %). Die KI konnte nicht erkennen, dass das Problem nicht das Rezept war, sondern die Küche selbst.
  3. Der Faktor „Notizen lesen": Der Erfolg der KI hing stark davon ab, wie gut sie die Notizen des Inspektors las.
    • Intelligentes Lesen (Agent-basiert): Wenn die KI angewiesen wurde, die langen, chaotischen Notizen sorgfältig zu lesen, sie zusammenzufassen und schrittweise zu denken, schnitt sie deutlich besser ab.
    • Schlüsselwortsuche (Retrieval-basiert): Wenn die KI nur nach Schlüsselwörtern in den Notizen suchte (wie eine einfache Suchleiste), geriet sie in Verwirrung und scheiterte viel häufiger.
    • Analogie: Es ist der Unterschied zwischen einem Koch, der den gesamten Beschwerdebrief liest, um den Kontext zu verstehen, und einem Koch, der nur nach dem Wort „verbrannt" sucht und davon ausgeht, dass das Essen verbrannt ist.

Das große Fazit
Das Papier kommt zu dem Schluss, dass KI zwar besser darin wird, kleine, spezifische Codefehler zu beheben, aber immer noch sehr schlecht darin ist, das große Ganze zu verstehen, wie Software in der realen Welt läuft.

  • Aktuelle Grenze: KI kann „Tippfehler" und „Stil"-Probleme beheben, gerät jedoch in Schwierigkeiten, wenn das Problem die Umgebung, Abhängigkeiten oder komplexe Systemkonfigurationen betrifft.
  • Die Lücke: Es gibt eine enorme Lücke zwischen dem „Anwenden eines Patches" (Ändern des Codes) und dem „Bestehen der vollständigen Inspektion" (Sicherstellen, dass das gesamte System funktioniert). Die meisten Patches, die die KI erstellte, sahen korrekt aus, scheiterten jedoch an der vollständigen Kücheninspektion, weil sie die zugrunde liegenden Umgebungs- oder Abhängigkeitsprobleme nicht behoben.

Kurz gesagt ist CI-Repair-Bench ein neuer, härterer Test, der uns genau zeigt, wo unsere KI-Reparaturwerkzeuge stark sind (Beheben kleiner Code-Details) und wo sie schwach sind (Beheben komplexer, realer Systeme, die den Code ausführen). Es beweist, dass wir für die Reparatur von Software in der realen Welt eine KI benötigen, die die gesamte Küche versteht, nicht nur das Rezept.

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 →