Resolving Java Code Repository Issues with iSWE Agent

Die Arbeit stellt iSWE Agent vor, ein auf Java spezialisiertes automatisiertes System zur Problemlösung in Code-Repositories, das durch die Kombination von regelbasierten statischen Analysewerkzeugen und Agenten-Techniken state-of-the-art-Ergebnisse auf Java-Datensätzen erzielt.

Jatin Ganhotra, Sami Serhan, Antonio Abu Nassar, Avraham Shinnar, Ziv Nevo, Martin Hirzel

Veröffentlicht Fri, 13 Ma
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Each language version is independently generated for its own context, not a direct translation.

Stellen Sie sich vor, Sie sind der Chef eines riesigen, chaotischen Bauunternehmens namens „Software-Welt". Tausende von Arbeitern (den Entwicklern) bauen jeden Tag an riesigen Gebäuden (den Software-Projekten). Manchmal melden die Bewohner dieser Gebäude Probleme: „Die Tür klemmt!" oder „Das Fenster lässt sich nicht öffnen!"

In der Welt der Programmierung nennt man diese Probleme „Issues". Normalerweise müssen menschliche Entwickler diese Probleme finden, das richtige Werkzeug suchen, die Tür reparieren und dann testen, ob es funktioniert. Das kostet Zeit und Nerven.

In den letzten Jahren haben wir versucht, Roboter (Künstliche Intelligenz) zu bauen, die diese Reparaturen automatisch erledigen. Das Problem? Die meisten dieser Roboter sind wie Schreiner, die nur mit Hölzern (Python) umgehen können. Wenn man sie aber vor ein Stahlgebäude (Java) stellt, stolpern sie über ihre eigenen Füße. Java ist anders: Es ist strenger, komplexer und hat andere Baupläne als Holz.

Hier kommt iSWE Agent ins Spiel. Das ist ein neuer, spezialisierter Reparatur-Roboter, der genau für diese Stahlgebäude (Java) gebaut wurde.

Wie funktioniert iSWE? (Die Zwei-Team-Methode)

Stellen Sie sich iSWE nicht als einen einzelnen Super-Roboter vor, sondern als ein Zwei-Personen-Team, das perfekt aufeinander abgestimmt ist:

1. Der Detektiv (Der Lokalisierungs-Agent)

Bevor man reparieren kann, muss man wissen, wo das Problem ist.

  • Das Problem: Ein Bewohner sagt: „Die Tür klemmt!" Aber in einem riesigen Gebäude gibt es vielleicht 100 Türen. Der Detektiv muss herausfinden, welche genau kaputt ist, ohne das ganze Gebäude abzureißen.
  • Die Lösung: Der Detektiv hat keine bloßen Augen, sondern spezielle Röntgenbrillen (Java-spezifische Analyse-Tools). Er kann in die Wände schauen, die Statik prüfen und genau sehen, welche Schraube in welchem Stockwerk locker ist.
  • Der Trick: Er ist ein „Leser". Er darf nichts anfassen, nur beobachten. Er erstellt einen genauen Bericht: „Reparieren Sie Schraube A im Raum 304 und Schraube B im Raum 305."

2. Der Handwerker (Der Bearbeitungs-Agent)

Sobald der Detektiv den Bericht abgegeben hat, kommt der Handwerker ins Spiel.

  • Die Aufgabe: Er nimmt den Bericht und führt die Reparatur durch.
  • Die Lösung: Auch er hat Werkzeuge, die für Stahl gebaut sind. Er weiß genau, wie man einen Stahlträger schweißt, ohne den Rest des Gebäudes zu beschädigen.
  • Die Sicherheit: Wenn er etwas falsch macht, passiert nichts Schlimmes. Er arbeitet in einer gläsernen Werkstatt (einem Container). Wenn er etwas kaputt macht, wird nur die Werkstatt beschädigt, nicht das echte Gebäude. Erst wenn er sicher ist, dass alles passt, wird die Reparatur ins echte Gebäude übernommen.

Warum ist iSWE besser als die anderen?

Die alten Roboter (die auf Python spezialisiert sind) versuchen oft, alles mit einem einzigen, riesigen Werkzeugkasten zu lösen. Sie probieren wild herum, schreiben Code, der vielleicht nicht funktioniert, und müssen dann alles wieder zurücksetzen. Das kostet viel Zeit und Energie.

iSWE hingegen nutzt spezialisierte Werkzeuge:

  • Kein wildes Raten: Statt zu raten, nutzt der Detektiv die Röntgenbrille, um die exakte Stelle zu finden.
  • Sicherheit: Da die Werkzeuge „nur lesen" oder in einer sicheren Werkstatt arbeiten, gibt es keine gefährlichen Nebenwirkungen.
  • Kosten: Weil der Roboter nicht so oft hin- und herlaufen muss (weniger „Runden" im Gespräch mit der KI), kostet die Reparatur viel weniger Geld.

Das Ergebnis

Die Autoren haben iSWE an zwei großen Baustellen getestet (Multi-SWE-bench und SWE-PolyBench).

  • Ergebnis: iSWE hat die meisten Reparaturen erfolgreich abgeschlossen, oft besser als alle anderen Roboter, die bisher für Java getestet wurden.
  • Kosten: Es hat dabei deutlich weniger Geld gekostet als die Konkurrenz.

Zusammenfassung in einem Satz

iSWE ist wie ein spezialisiertes Reparatur-Team, das statt mit einem allgemeinen Hammer (der für alles gedacht ist, aber bei nichts perfekt ist) mit maßgeschneiderten Werkzeugen arbeitet, um komplexe Java-Probleme sicher, schnell und kostengünstig zu lösen. Es zeigt uns, dass man für spezielle Aufgaben (wie Java) keine allgemeinen, dummen Roboter braucht, sondern intelligente, spezialisierte Helfer.