← Neueste Arbeiten
💻 computer science

Can Old Tests Do New Tricks for Resolving SWE Issues?

TestPrune ist eine vollständig automatisierte Technik, die große Regressionstestsuiten strategisch minimiert, um die fehlerbasierte Reproduktion und Patch-Validierung auf Basis von LLMs zu verbessern, wodurch die Lösungsrate von Problemen in SWE-Bench-Benchmarks bei minimalem API-Kostenaufwand erheblich gesteigert wird.

Ursprüngliche Autoren: Yang Chen, Toufique Ahmed, Reyhaneh Jabbarvand, Martin Hirzel

Veröffentlicht 2026-05-12
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Yang Chen, Toufique Ahmed, Reyhaneh Jabbarvand, Martin Hirzel

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

Das große Problem: Zu viel Rauschen, zu wenig Signal

Stellen Sie sich vor, Sie sind ein Detektiv, der versucht, ein Verbrechen in einer riesigen, chaotischen Stadt (ein großes Softwareprojekt) aufzuklären. Sie haben ein riesiges Notizbuch mit „Regeln" (dem Regressionstest-Suite), das besagt: „Wenn Sie die Hauptstraße entlanggehen, sollten Sie nicht von einem Auto überfahren werden." Diese Regeln sind großartig, um sicherzustellen, dass die Stadt nicht auseinanderfällt, wenn Sie kleine Änderungen vornehmen.

Wenn jedoch ein neues, seltsames Verbrechen passiert (ein neuer Fehler), muss der Detektiv (ein KI-Agent) genau herausfinden, wo und wie es zu beheben ist. Das Problem ist, dass die Stadt tausende von Regeln hat. Wenn Sie versuchen, alle davon zu lesen, um ein bestimmtes Verbrechen aufzuklären, werden Sie überwältigt. Es dauert zu lange, kostet zu viel Geld und der Detektiv wird von Regeln über die „Hauptstraße" abgelenkt, obwohl das Verbrechen tatsächlich auf der „Elm Street" passiert ist.

In der Welt der Software sind diese „Regeln" Tests. Aktuelle KI-Tools versuchen, Fehler zu beheben, indem sie die gesamte Bibliothek von Tests lesen. Dies ist langsam, teuer und oft verwirrend, weil die meisten dieser Tests nichts mit dem spezifischen Fehler zu tun haben, der gerade vorliegt.

Die Lösung: TestPrune (Der intelligente Bibliothekar)

Die Autoren dieses Papiers haben ein Tool namens TestPrune entwickelt. Stellen Sie sich TestPrune als einen super-intelligenten Bibliothekar vor, der genau weiß, welche Bücher Sie für ein bestimmtes Forschungsthema benötigen.

Anstatt dem Detektiv die gesamte Bibliothek zu geben, betrachtet TestPrune die Beschreibung des Verbrechens (den Issue-Bericht) und den Stadtplan (die Codebasis). Anschließend bittet es eine intelligente KI (ein Large Language Model), zu erraten, welche Teile der Stadt verdächtig sind. Sobald es die verdächtigen Bereiche kennt, durchsucht es die Bibliothek der Regeln und zieht nur die 9 bis 11 Regeln heraus, die tatsächlich für dieses spezifische Verbrechen relevant sind.

Es wirft die tausenden irrelevanten Regeln weg. Es ist, als würde man von einem 10.000-seitigen Lexikon zu einem perfekten, 3-seitigen Spickzettel wechseln.

Wie es funktioniert (Die „neuen Tricks")

Das Papier zeigt, dass diese „alten Tests" (die bereits von Menschen geschrieben wurden) „neue Tricks" vollbringen können, wenn man einfach die richtigen auswählt. TestPrune verwendet zwei Hauptstrategien, um der KI bei der Fehlerbehebung zu helfen:

  1. Nachstellen des Tatorts (Reproduktion):
    Bevor ein Fehler behoben werden kann, muss bewiesen werden, dass er existiert. Die KI versucht, einen neuen Test zu schreiben, der bei dem defekten Code fehlschlägt, aber bei dem korrigierten Code besteht.

    • Ohne TestPrune: Die KI rät blindlings oder versucht, zu viele alte Regeln zu lesen, und gerät in Verwirrung.
    • Mit TestPrune: Die KI erhält die spezifischen „alten Regeln", die den defekten Bereich abdecken. Dies gibt der KI einen besseren Kontext und hilft ihr, einen perfekten Test zur „Nachstellung des Tatorts" zu schreiben.
    • Ergebnis: Die KI wird besser darin zu beweisen, dass der Fehler existiert (eine Verbesserung von 6,2 % bis 9,0 %).
  2. Überprüfung der Reparatur (Validierung):
    Sobald die KI eine Reparatur vorschlägt, muss sie sicherstellen, dass die Reparatur nichts anderes kaputtgemacht hat.

    • Ohne TestPrune: Die KI führt tausende Tests durch. Wenn ein Test fehlschlägt, gerät die KI möglicherweise in Panik und denkt, die Reparatur sei schlecht, selbst wenn dieser Test für die Reparatur irrelevant war.
    • Mit TestPrune: Die KI führt nur den kleinen, relevanten Satz von Tests durch. Wenn diese bestehen, ist die Reparatur wahrscheinlich gut. Wenn sie fehlschlagen, weiß die KI genau, was sie anpassen muss.
    • Ergebnis: Die KI behebt mehr Fehler korrekt (eine Verbesserung von 8,0 % bis 12,9 %) und tut dies schneller.

Die Ergebnisse: Schneller, günstiger und intelligenter

Das Papier testete dies an realen Softwareprojekten (unter Verwendung von Benchmarks namens SWE-Bench Lite und SWE-Bench Verified). Hier ist, was sie herausfanden:

  • Massive Reduzierung: Sie reduzierten die Anzahl der Tests, die die KI durchführen musste, um mehr als das 1.000-fache. Anstatt 10.000 Tests durchzuführen, führten sie nur etwa 9 durch.
  • Geschwindigkeit: Das Durchlaufen der gesamten Bibliothek dauerte etwa 24 Minuten. Das Durchlaufen der TestPrune-Liste dauerte nur 52 Sekunden.
  • Kosten: Die Verwendung von TestPrune kostet fast nichts zusätzlich. Es fügt nur etwa 0,02 $ bis 0,05 $ pro Fehlerbehebung hinzu (unter Verwendung standardmäßiger KI-Modelle).
  • Erfolgsrate: Durch die Verwendung dieses „intelligenten Filters" lösten die KI-Agenten signifikant mehr Fehler als zuvor.

Das Fazit

Das Papier beantwortet seine eigene Titel-Frage mit einem lauten Ja. Alte Tests können neue Tricks vollbringen, aber nur, wenn man aufhört, sie alle als gleichwertig zu behandeln. Indem wir KI einsetzen, um intelligent die winzige, perfekte Teilmenge alter Tests auszuwählen, die für ein spezifisches Problem relevant sind, können wir die Software-Reparatur schneller, günstiger und viel genauer machen.

Wichtigste Erkenntnis: Sie brauchen keine größere Bibliothek, um ein Problem zu lösen; Sie brauchen nur einen besseren Bibliothekar, um das richtige Buch zu finden. TestPrune ist dieser Bibliothekar.

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 →