← Nieuwste papers
💻 computer science

EvoRepair: Enhancing Vulnerability Repair Agents Through Experience-Based Self-Evolution

EvoRepair introduceert het eerste ervaringsgebaseerde zelfevoluerende agentframework voor geautomatiseerde kwetsbaarheidsreparatie dat kennis over kwetsbaarheden heen accumuleert en hergebruikt om op meerdere benchmarks aanzienlijk beter te presteren dan bestaande op LLM gebaseerde baselines.

Oorspronkelijke auteurs: Haichuan Hu, Guoqing Xie, Quanjun Zhang, Jiawei Liu, Shengcheng Yu, Chunrong Fang, Zhenyu Chen, Liang Xiao

Gepubliceerd 2026-05-29
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Haichuan Hu, Guoqing Xie, Quanjun Zhang, Jiawei Liu, Shengcheng Yu, Chunrong Fang, Zhenyu Chen, Liang Xiao

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

Stel je voor dat je probeert een kapotte machine te repareren in een donkere kamer. Je hebt een zeer slimme, maar onervaren leerling (de AI) die probeert uit te vinden hoe hij hem moet repareren.

Het probleem: De valkuil van "proberen en fouten maken"
In het verleden, toen we AI vroegen om softwarekwetsbaarheden te repareren, werkte het als volgt: De AI zou een oplossing raden, het proberen, zien of het kapot ging, en dan opnieuw raden.

  • Het probleem: Als de AI een fout maakte, vergat hij die vaak. Bij de volgende poging maakte hij precies dezelfde fout opnieuw. Het was als een student die een wiskundetoets zakt, de fouten niet bestudeert en vervolgens de volgende toets zakt met hetzelfde verkeerde antwoord.
  • Het tweede probleem: Zelfs als de AI leerde hoe hij een specifiek type lek in een pijp moest repareren, onthield hij die les niet wanneer hij een ander pijp met een vergelijkbaar lek tegenkwam. Hij behandelde elk nieuw probleem alsof hij het voor het eerst ooit zag.

De oplossing: EVOREPAIR (het systeem van de "ervaren meester")
De auteurs van dit artikel hebben een systeem genaamd EVOREPAIR ontwikkeld. Denk hierbij aan het geven van een persoonlijke mentor en een enorme bibliotheek met eerdere casestudies aan de leerling.

Hier is hoe het werkt, met een eenvoudige analogie:

1. De "ervaringsbank" (de bibliotheek)

In plaats van alleen maar te raden, houdt EVOREPAIR een gedetailleerd dagboek bij van elke reparatiepoging.

  • Wat staat er in het dagboek? Het schrijft niet alleen "Ik heb het gerepareerd." Het schrijft: "We hebben geprobeerd een hamer te gebruiken, maar het glas is gekraakt. We hebben geleerd dat we voor glas een schroevendraaier moeten gebruiken. Ook hebben we ontdekt dat als de schroef roestig is, we deze eerst moeten oliën."
  • De "score": Niet elke les is goed. Sommige lessen zijn verkeerd of werken alleen in één specifieke situatie. EVOREPAIR gebruikt een "rechter" om deze lessen te beoordelen. Alleen de hoogwaardige, nuttige lessen worden in de bibliotheek bewaard.

2. De "zoekopdracht" (de bibliothecaris)

Wanneer er een nieuwe kwetsbaarheid opdook (een nieuwe kapotte machine), begint EVOREPAIR niet helemaal opnieuw.

  • Het treedt op als een bibliothecaris. Het bekijkt het nieuwe probleem en zegt: "Hé, dit lijkt veel op die kapotte broodrooster die we vorige week hebben gerepareerd!"
  • Het haalt de specifieke lessen uit de bibliotheek die bij het huidige probleem passen. Het vertelt de AI: "Gebruik deze keer geen hamer; gebruik de schroevendraaier en vergeet niet de schroef te oliën."

3. De "zelfevolutie" (slimmer worden)

Dit is het magische deel. Het systeem is cyclisch.

  • Repareren: De AI probeert het probleem te repareren met het advies uit de bibliotheek.
  • Leren: Na de poging (of het nu gelukt is of niet), analyseert het systeem wat er gebeurd is.
  • Bijwerken: Het schrijft een nieuwe les in de bibliotheek op basis van deze nieuwe poging. Als de AI een betere manier heeft gevonden om de schroevendraaier te gebruiken, wordt die nieuwe methode aan het boek toegevoegd.
  • Herhalen: De volgende keer dat een vergelijkbaar probleem zich voordoet, is de bibliotheek nog beter dan daarvoor. De AI "evolueert" letterlijk door te leren van zijn eigen geschiedenis.

De resultaten: Hoe goed werkte het?

De onderzoekers hebben dit systeem getest tegen 12 andere topmethoden voor het repareren van softwarefouten.

  • De score: EVOREPAIR repareerde 93,5% van de problemen op één grote test en 87% op een andere.
  • De vergelijking: Het was aanzienlijk beter dan de vorige beste methoden. Bijvoorbeeld, het repareerde ongeveer 40% meer problemen dan het volgende beste AI-systeem.
  • De "overdracht"-test: Ze namen zelfs de lessen die waren geleerd bij het repareren van problemen in één programmeertaal (zoals JavaScript) en gebruikten die om problemen in een volledig andere taal (zoals Java) te repareren. Het werkte nog steeds, wat bewijst dat de "lessen" algemeen genoeg waren om nuttig te zijn voor verschillende soorten code.

In het kort

Vorige AI-reparatietools waren als studenten die hun fouten vergaten. EVOREPAIR is als een meesterhandwerker die een gedetailleerd journaal bijhoudt van elke klus, leert van elke mislukking en die opgebouwde wijsheid gebruikt om nieuwe problemen sneller en nauwkeuriger dan ooit tevoren te repareren. Het verandert "proberen en fouten maken" in "proberen, leren en slagen".

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 →