MigrationBench: Repository-Level Code Migration Benchmark from Java 8
Dieser Beitrag stellt MigrationBench vor, einen umfassenden Benchmark und Evaluierungsrahmen auf Repository-Ebene für die Migration von Java-8-Code auf moderne LTS-Versionen (17 und 21), und zeigt, dass ein agentic LLM-Framework bei dieser anspruchsvollen Aufgabe hohe Erfolgsquoten erzielen kann.
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 eine riesige, alte Bibliothek vor, die mit Büchern gefüllt ist, die in einem bestimmten, leicht veralteten Stil des Englischen geschrieben sind (nennen wir ihn „Englisch 8"). Die Bibliothek ist enorm groß, enthält Tausende von Büchern, und jedes einzelne davon befindet sich derzeit in perfektem Zustand.
Stellen Sie sich nun vor, der Bibliotheksrat beschließt, das gesamte Gebäude auf einen neuen, modernen Standard („Englisch 17") zu aktualisieren. Es geht dabei nicht nur darum, die Schriftart zu ändern; es geht darum, die Grammatikregeln, den Wortschatz und die Art und Weise, wie die Bücher organisiert sind, zu aktualisieren, damit sie mit den Sicherheitssystemen und Aufzügen des neuen Gebäudes funktionieren.
MigrationBench ist eine gewaltige Herausforderung, die von Forschern bei AWS AI entwickelt wurde, um zu testen, wie gut Künstliche Intelligenz (speziell Large Language Models oder LLMs) dieses massive Renovierungsprojekt bewältigen kann.
Hier ist die Aufschlüsselung ihrer Arbeit mit einfachen Analogien:
1. Das Problem: Eine ganze Stadt verlegen, nicht nur ein Haus
Die meisten vorherigen KI-Tests waren so, als würde man einen Roboter bitten, einen einzelnen undichten Wasserhahn zu reparieren oder einen einzigen Absatz zu schreiben. Aber reale Software ist nicht nur eine Datei; es ist eine ganze Stadt miteinander verbundener Gebäude (ein „Repository").
- Die Herausforderung: Der Wechsel von „Englisch 8" zu „Englisch 17" erfordert die gleichzeitige Änderung Tausender Dateien. Wenn Sie ein Straßenschild ändern, können Sie möglicherweise die Ampeln drei Blocks weiter zerstören.
- Die Lücke: Bisher gab es keine standardisierte „Prüfung", um zu sehen, ob KI in der Lage ist, eine ganze Stadt aus Code zu renovieren, ohne das gesamte System zum Absturz zu bringen.
2. Die Lösung: Der „MigrationBench"-Datensatz
Die Forscher haben eine massive Testsuite namens MigrationBench erstellt.
- Der vollständige Datensatz: Sie sammelten 5.102 reale, quelloffene Java-Projekte aus dem Internet (wie GitHub). Sie filterten sie, um sicherzustellen, dass sie von hoher Qualität sind, über ordnungsgemäße Lizenzen verfügen und derzeit einwandfrei funktionieren.
- Der „ausgewählte" Teil: Das Testen aller 5.000+ Projekte dauert ewig. Daher wählten sie 300 der komplexesten, schwierigsten und interessantesten Projekte manuell aus. Denken Sie daran als an die „Abschlussprüfungs"-Version des Datensatzes, die entwickelt wurde, um die KI wirklich zu belasten.
3. Die Spielregeln (Bewertung)
Wie weiß man, ob die Renovierung erfolgreich war? Die Forscher stellten zwei Schwierigkeitsgrade ein:
Level 1: Minimale Migration (Der „Es funktioniert"-Test)
- Ziel: Die KI muss nur sicherstellen, dass der Code kompiliert (gebaut wird) und alle bestehenden Tests in der neuen Version bestehen.
- Analogie: Das Gebäude ist sicher, die Lichter gehen an und die Aufzüge funktionieren. Die Bücher sind lesbar.
- Erfolgsquote: Mit ihrem besten KI-Setup erreichten sie hier eine Erfolgsquote von 71,67 %.
Level 2: Maximale Migration (Der „Modernisierungs"-Test)
- Ziel: Die KI muss nicht nur dafür sorgen, dass es funktioniert, sondern auch jedes einzelne Werkzeug und jede einzelne Bibliothek im Code auf ihre absolut neuesten, sichersten Versionen aktualisieren.
- Analogie: Nicht nur ist das Gebäude sicher, sondern die KI hat auch alle alten Rohrleitungen durch neue Kupferrohre ersetzt, die Überwachungskameras auf 4K aktualisiert und die neuesten Smart-Home-Funktionen installiert. Dies ist viel schwieriger, da neue Werkzeuge oft andere Regeln haben.
- Erfolgsquote: Dies ist viel härter. Das beste KI-Setup erreichte eine Erfolgsquote von 53,33 %.
4. Die Arbeiter: KI-Agenten
Die Forscher baten die KI nicht einfach nur, „Code zu schreiben". Sie bauten KI-Agenten – digitale Arbeiter, die mit Werkzeugen ausgestattet sind.
- Der einfache Arbeiter: Eine einfache KI, die den Code betrachtet und versucht, Fehler zu beheben. Sie hatte Schwierigkeiten mit dem „Maximalen"-Upgrade.
- Der intelligente Arbeiter (Prompt Engineering): Sie gaben dem einfachen Arbeiter einen besseren Satz von Anweisungen und sagten ihm spezifisch, dass er alles aktualisieren soll. Dies half sehr.
- Der Forscher-Arbeiter (RAG): Sie gaben dem Arbeiter ein „Telefonbuch" (eine Wissensdatenbank) der neuesten Softwareversionen, damit er nicht raten musste. Dies verbesserte die Ergebnisse weiter.
- Das hybride Team (Der Gewinner): Dies war der cleverste Ansatz. Sie verwendeten ein Computerprogramm, um automatisch die alten Werkzeuge durch neue zu ersetzen (ein schneller, roboterhafter Schritt) und ließen dann den KI-Agenten hereinkommen, um die unordentlichen Teile zu reparieren, in denen die neuen Werkzeuge nicht perfekt passten.
- Ergebnis: Dieses Team leistete genauso gute Arbeit wie der teuerste KI-Arbeiter, verbrauchte jedoch 11 % weniger Rechenleistung.
5. Die Ergebnisse
Die Studie zeigt, dass KI zwar sehr gut darin wird, kleine Codeprobleme zu beheben, die Renovierung einer gesamten Software-„Stadt" von einer alten Version zu einer neuen jedoch immer noch eine massive Herausforderung darstellt.
- Der hybride Ansatz (Kombination automatisierter Werkzeuge mit KI) erwies sich als der effizienteste Weg, dies zu tun.
- Der Datensatz und der Code für diese KI-Agenten sind jetzt öffentlich, sodass andere Forscher versuchen können, noch bessere Renovierungsteams zu bauen.
Kurz gesagt: MigrationBench ist ein neuer, strenger Turnplatz für KI, um das Verlegen ganzer Softwarebibliotheken von alten zu neuen Versionen zu üben. Es zeigt, dass KI zwar fähig ist, aber die komplexesten „Renovierungen" immer noch eine intelligente Mischung aus automatisierten Werkzeugen und menschähnlichem Denken erfordern, um die Arbeit richtig zu erledigen.
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.