← Nieuwste papers
💻 computer science

Can Old Tests Do New Tricks for Resolving SWE Issues?

TestPrune is een volledig geautomatiseerde techniek die strategisch grote regressietestsets minimaliseert om LLM-gebaseerde bugreproductie en patchvalidatie te verbeteren, waardoor de oplospercentages voor problemen op SWE-Bench-benchmarks aanzienlijk stijgen met minimale API-kostendruk.

Oorspronkelijke auteurs: Yang Chen, Toufique Ahmed, Reyhaneh Jabbarvand, Martin Hirzel

Gepubliceerd 2026-05-12
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Yang Chen, Toufique Ahmed, Reyhaneh Jabbarvand, Martin Hirzel

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Het Grote Probleem: Te Veel Ruis, Te Weinig Signaal

Stel je voor dat je een detective bent die een misdaad probeert op te lossen in een enorme, chaotische stad (een groot softwareproject). Je hebt een gigantisch notitieboek met "regels" (de regression test suite) waarin staat: "Als je de Main Street afloopt, mag je niet door een auto worden aangereden." Deze regels zijn uitstekend om ervoor te zorgen dat de stad niet uit elkaar valt wanneer je kleine wijzigingen aanbrengt.

Echter, wanneer er een nieuwe, vreemde misdaad plaatsvindt (een nieuwe bug), moet de detective (een AI-agent) precies uitzoeken waar en hoe het moet worden opgelost. Het probleem is dat de stad duizenden regels heeft. Als je probeert ze allemaal te lezen om één specifieke misdaad op te lossen, raak je overweldigd. Het kost te veel tijd, te veel geld en de detective wordt afgeleid door regels over "Main Street", terwijl de misdaad eigenlijk op "Elm Street" is gepleegd.

In de wereld van software zijn deze "regels" tests. Huidige AI-tools proberen bugs op te lossen door de volledige bibliotheek met tests te lezen. Dit is traag, duur en vaak verwarrend, omdat de meeste van die tests niets te maken hebben met de specifieke bug waar het om gaat.

De Oplossing: TestPrune (De Slimme Bibliothecaris)

De auteurs van dit paper hebben een tool genaamd TestPrune ontwikkeld. Denk aan TestPrune als een super-slimme bibliothecaris die precies weet welke boeken je nodig hebt voor een specifiek onderzoeksonderwerp.

In plaats van de detective de volledige bibliotheek te geven, kijkt TestPrune naar de beschrijving van de misdaad (het issue report) en de plattegrond van de stad (de codebase). Vervolgens vraagt het een slimme AI (een Large Language Model) om te raden welke delen van de stad verdacht zijn. Zodra het de verdachte gebieden kent, scant het de bibliotheek met regels en pakt het slechts 9 tot 11 regels eruit die daadwerkelijk relevant zijn voor die specifieke misdaad.

Het gooit de duizenden irrelevante regels weg. Het is alsof je overstapt van het lezen van een encyclopedie van 10.000 pagina's naar het lezen van een perfecte, 3 pagina's tellende cheat sheet.

Hoe Het Werkt (De "Nieuwe Trucs")

Het paper toont aan dat deze "oude tests" (die al door mensen zijn geschreven) "nieuwe trucs" kunnen uitvoeren als je gewoon de juiste selecteert. TestPrune gebruikt twee hoofdstrategieën om AI te helpen bij het oplossen van bugs:

  1. Het Misdaadtoneel Nieuw Leven Inblazen (Reproductie):
    Voordat je een bug oplost, moet je bewijzen dat hij bestaat. De AI probeert een nieuwe test te schrijven die faalt op de kapotte code maar slaagt op de gerepareerde code.

    • Zonder TestPrune: De AI raadt blindelings of probeert te veel oude regels te lezen, waardoor ze in de war raakt.
    • Met TestPrune: De AI krijgt de specifieke "oude regels" aangereikt die het kapotte gebied bestrijken. Dit geeft de AI betere context, waardoor het een perfecte "misdaadtoneel-reproductie"-test kan schrijven.
    • Resultaat: De AI wordt beter in het bewijzen dat de bug bestaat (een verbetering van 6,2% tot 9,0%).
  2. De Reparatie Controleren (Validatie):
    Zodra de AI een oplossing voorstelt, moet het ervoor zorgen dat de oplossing niets anders heeft kapotgemaakt.

    • Zonder TestPrune: De AI voert duizenden tests uit. Als een test faalt, kan de AI in paniek raken en denken dat de oplossing slecht is, zelfs als die test irrelevant was voor de oplossing.
    • Met TestPrune: De AI voert alleen de kleine, relevante set tests uit. Als deze slagen, is de oplossing waarschijnlijk goed. Als ze falen, weet de AI precies wat er moet worden aangepast.
    • Resultaat: De AI lost meer bugs correct op (een verbetering van 8,0% tot 12,9%) en doet dit sneller.

De Resultaten: Sneller, Goedkoper en Slimmer

Het paper heeft dit getest op real-world softwareprojecten (met behulp van benchmarks genaamd SWE-Bench Lite en SWE-Bench Verified). Hier is wat ze vonden:

  • Massieve Reductie: Ze verlaagden het aantal tests dat de AI moest uitvoeren met meer dan 1.000 keer. In plaats van 10.000 tests uit te voeren, voerden ze er ongeveer 9 uit.
  • Snelheid: Het uitvoeren van de volledige bibliotheek duurde ongeveer 24 minuten. Het uitvoeren van de TestPrune-lijst duurde slechts 52 seconden.
  • Kosten: Het kost bijna niets extra om TestPrune te gebruiken. Het voegt slechts ongeveer $0,02 tot $0,05 toe per bugfix (met standaard AI-modellen).
  • Succespercentage: Door deze "slimme filter" te gebruiken, losten de AI-agenten aanzienlijk meer bugs op dan daarvoor.

De Conclusie

Het paper beantwoordt zijn eigen titelvraag met een luid Ja. Oude tests kunnen nieuwe trucs uithalen, maar alleen als je ophoudt ze allemaal als gelijk te behandelen. Door AI te gebruiken om intelligent de kleine, perfecte subset van oude tests te selecteren die relevant zijn voor een specifiek probleem, kunnen we softwareherstel sneller, goedkoper en veel nauwkeuriger maken.

Belangrijkste Les: Je hebt geen grotere bibliotheek nodig om een probleem op te lossen; je hebt gewoon een betere bibliothecaris nodig om het juiste boek te vinden. TestPrune is die bibliothecaris.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →