← Neueste Arbeiten
💻 computer science

Agentic Generation of AST Transformation Rules for Fixing Breaking Updates

Das Papier präsentiert BigBag, ein agentisches Framework, das wiederverwendbare, API-Ebene umfassende AST-Transformationsregeln generiert, um fehlerhafte Abhängigkeitsaktualisierungen über mehrere Softwareprojekte hinweg automatisch zu beheben, wobei hohe Kompilierungs- und Behebungsraten erzielt und eine signifikante projektübergreifende Übertragbarkeit nachgewiesen werden.

Ursprüngliche Autoren: Frank Reyes, Benoit Baudry, Martin Monperrus

Veröffentlicht 2026-06-24
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Ursprüngliche Autoren: Frank Reyes, Benoit Baudry, Martin Monperrus

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 der Manager einer riesigen Baustelle (Ihr Softwareprojekt). Sie verlassen sich auf einen bestimmten Lieferanten (eine Third-Party-Bibliothek) für Ihre Ziegel, Ihren Zement und Ihre Werkzeuge. Jahrelang hat alles perfekt funktioniert.

Doch dann, eines Tages, schickt der Lieferant einen neuen Katalog. Er hat nicht nur den Preis aktualisiert; er hat die Form der Ziegel geändert, die Werkzeuge umbenannt und die Lieferwagen auf eine andere Straße verlegt. Plötzlich kann Ihre Baucrew nichts mehr bauen. Die Baupläne passen nicht mehr zu den neuen Materialien, und die gesamte Baustelle kommt zum Stillstand. Das ist das, was Programmierer ein „Breaking Dependency Update“ nennen.

Normalerweise müsste ein menschlicher Entwickler bei jedem Breaking Dependency Update zu jeder einzelnen Baustelle gehen, die diesen Lieferanten nutzt, die Änderungen verstehen und die Baupläne für jede einzelne Baustelle manuell umschreiben. Wenn 100 Baustellen betroffen sind, sind das 100 separate, mühsame Aufgaben.

Die neue Lösung: BIGBAG

Das Paper stellt ein neues System namens BIGBAG vor. Anstatt einen Menschen zu schicken, um jede Baustelle einzeln zu reparieren, fungiert BIGBAG wie ein super-intelligenter, automatisierter Architekt.

So funktioniert es, erklärt anhand einfacher Analogien:

1. Die „Detektiv“-Phase

Wenn der neue Lieferantenkatalog eintrifft und der Bau stoppt, schaut der „Detektiv“ von BIGBAG (ein durch fortschrittliche KI gesteuerter Coding-Agent) auf die Fehlermeldungen. Er fragt: „Warum passt der Ziegel nicht mehr?“ Er liest den neuen Katalog (die API-Dokumentation), um genau zu verstehen, was sich geändert hat.

2. Die „Universelle Blaupausen“-Phase

Dies ist der magische Teil. Anstatt einen neuen Bauplan nur für Ihre spezifische Baustelle zu zeichnen, zeichnet die KI eine Universelle Reparatur-Regel.

  • Der alte Weg: „Verschiebe die Tür an der linken Wand deines Hauses.“
  • Der BIGBAG-Weg: „Wenn du eine Tür an der linken Wand siehst, verschiebe sie in die Mitte, egal in welchem Haus du dich befindest.“

Diese „Universelle Reparatur-Regel“ ist ein kleines Computerprogramm (eine AST-Transformation), das sagt: „Suche jedes Vorkommen dieses alten Werkzeugs und ersetze es durch dieses neue Werkzeug.“

3. Die „Probefahrt“-Phase

Bevor diese Regel verschickt wird, testet BIGBAG sie an der ursprünglichen, defekten Baustelle. Es wendet die Regel an, prüft, ob das Gebäude stabil steht und ob die Tests bestehen. Wenn es fehlschlägt, versucht der KI-Detektiv es erneut und passt die Regel so lange an, bis sie perfekt funktioniert.

4. Die „Massendistribution“-Phase

Sobald die Regel an der ersten Baustelle erfolgreich getestet wurde, sendet BIGBAG genau dieselbe Regel an alle anderen Baustellen, die von derselben Änderung des Lieferanten betroffen sind. Es ist, als würde man einen einzigen „Reparier-Aufkleber“ verteilen, der an jedem Auto desselben Modells funktioniert, anstatt jedes Auto einzeln zu reparieren.

Was haben sie herausgefunden?

Die Forscher haben dieses System an 157 realen Katastrophen getestet, bei denen Software aufgrund von Bibliotheks-Updates kaputtging. Sie verwendeten vier verschiedene „super-intelligente“ KI-Gehirne und zwei verschiedene „Zeichenwerkzeuge“ (Software-Engines), um diese Regeln zu erstellen.

  • Erfolgsrate: Die beste Kombination aus KI und Zeichenwerkzeug konnte 94 % der Zeit eine funktionierende „Universelle Reparatur-Regel“ erstellen.
  • Behebung des Fehlers: Sobald die Regel erstellt war, reparierte sie die defekte Software in 78 % der Fälle erfolgreich.
  • Der „Universelle“-Test: Der spannendste Teil war die Frage, ob die Regel auch auf anderen Baustellen funktioniert.
    • Insgesamt funktionierten die Regeln auf 33 % der anderen Baustellen.
    • Wenn jedoch alle Baustellen das defekte Werkzeug auf exakt die gleiche Weise (uniform) nutzten, funktionierten die Regeln in 80 % oder mehr der Fälle.

Der Haken (Warum es noch nicht 100 % perfekt ist)

Das Paper fand zwei Hauptgründe, warum die „Universelle Regel“ manchmal scheitert:

  1. Das Zeichenwerkzeug zählt: Einige KI-Modelle sind besser darin, bestimmte „Zeichenwerkzeuge“ (Software-Engines) zu nutzen als andere. Es ist, als würde man einem Maler einen Pinsel geben, den er noch nie benutzt hat; er könnte ein Chaos anrichten. Die Forscher fanden heraus, dass ein einfacheres Werkzeug (JavaParser) oft besser funktionierte als ein komplexes (Spoon), weil es für die KI leichter zu verstehen war.
  2. Das „Einheitsgröße“-Problem: Die KI lernt die Regel durch das Betrachten einer einzigen defekten Baustelle. Wenn diese Baustelle das defekte Werkzeug auf eine sehr eigenwillige, einzigartige Weise genutzt hat, schreibt die KI eine Regel für genau diese Eigenart. Wenn sie dann versucht, diese Regel auf eine andere Bastelle anzuwenden, die das Werkzeug ganz normal nutzt, passt die Regel nicht. Es ist, als würde man einen Maßanzug für eine Person anfertigen und versuchen, ihn jemand anderem aufzuzwingen; es funktioniert nur, wenn sie exakt dieselbe Körperform haben.

Das Faz-it

BIGBAG beweist, dass wir aufhören können, Software-Updates Projekt für Projekt einzeln zu reparieren. Stattdessen können wir ein einziges, wiederverwendbares „Reparatur-Skript“ generieren, das das Problem für alle Betroffenen derselben Aktualisierung löst. Obwohl es noch nicht alles perfekt behebt, verwandelt es ein massives, manuelles Kopfzerbrechen in einen weitgehend automatisierten Prozess und erspart Entwicklern das ständige manuelle Umschreiben desselben Codes.

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 →