← Nieuwste papers
💻 computer science

Foundation Models as Oracles for Refactoring Correctness Detection

Deze studie toont aan dat foundation models effectief kunnen dienen als aanpasbare, zero-shot orakels voor het detecteren van refactoring-bugs in Java-programma's, waarbij ze een hoge nauwkeurigheid bereiken over diverse IDE's en refactoring-typen heen, terwijl ze verklarende inzichten bieden ter aanvulling op traditionele statische en dynamische analyse-instrumenten.

Oorspronkelijke auteurs: Rohit Gheyi, Rian Melo, Jonhnanthan Oliveira, Marcio Ribeiro, Baldoino Fonseca

Gepubliceerd 2026-07-03
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Rohit Gheyi, Rian Melo, Jonhnanthan Oliveira, Marcio Ribeiro, Baldoino Fonseca

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 een meester-timmerman bent die jarenlang prachtige, stevige tafels heeft gebouwd. Je hebt een set automatische machines (zoals IDE's) die je helpen om een tafelpoot van de ene naar de andere kant te verplaatsen of een lade te vervangen. Deze machines horen de taak perfect uit te voeren zonder de werking van de tafel te veranderen.

Soms maken deze machines echter een fout. Ze kunnen een poot zo verplaatsen dat de tafel wiebelt, of ze kunnen een stuk eraf zagen waardoor het hele meubelstuk instort. In de wereld van software worden deze fouten refactoring-bugs genoemd. Ze kunnen subtiel zijn (de tafel wiebelt) of overduidelijk (de tafel valt uit elkaar en kan niet eens blijven staan).

Lange tijd moesten ontwikkelaars, om deze fouten te vangen, zeer specifieke, handmatige regels schrijven voor elke mogelijke manier waarop een machine iets kon verknallen. Het was alsolijk een regelboek proberen te schrijven voor elke denkbare manier waarop een tafel kapot kon gaan. Dat was moeilijk, traag, en de machines vonden steeds weer nieuwe manieren om dingen te breken die niet in het regelboek stonden.

Het Nieuwe Idee: De "Super-Inspecteur"

Dit artikel stelt een simpele vraag: Kan een "Super-Inspecteur" (een Foundation Model, een type geavanceerde AI) kijken naar het "Vóór" en "Ná" van een verplaatste tafel en ons vertellen of deze kapot is?

De onderzoekers hebben de AI niet geleerd volgens specifieke regels over tafels. In plaats daarvan hebben ze de AI simpelweg voorbeelden getoond van kapotte tafels en gevraagd: "Is dit kapot?" Dit wordt zero-shot prompting genoemd — het is alsof je een slim persoon een kapotte stoel overhandigt en vraagt: "Is deze veilig om op te zitten?", zonder eerst een handleiding te geven.

Het Experiment

De onderzoekers verzamelden 226 echte voorbeelden van kapotte tafels (softwarebugs) die de afgelopen tien jaar zijn opgetreden in populaire softwaretools zoals IntelliJ, Eclipse en NetBeans. Deze bugs vielen in twee categorieën:

  1. De "Instorting" (Compilatiefouten): De code is zo verpest dat deze zelfs niet kan draaien.
  2. De "Wobbel" (Gedragsveranderingen): De code draait wel, maar doet iets anders dan het zou moeten doen (zoals een verkeerd getal printen of crashen wanneer dat niet zou moeten gebeuren).

Ze vroegen verschillende verschillende "Super-Inspecteurs" (AI-modellen) om naar deze 226 gevallen te kijken en te zeggen: "Is dit kapot?"

Wat Ze Vonden

1. De AI is verrassend goed in het opsporen van fouten.

  • De beste AI-inspecteurs (zoals Gemini-3.1-Pro-Preview en GPT-5.4) hadden bijna altijd gelijk (een nauwkeurigheid van ongeveer 94% tot 99%).
  • Zelfs een kleinere, gratis te gebruiken AI (GPT-OSS-20B) deed het behoorlijk goed (ongeveer 80% nauwkeurigheid).
  • De AI zei niet alleen "Ja/Nee". De AI kon ook uitleggen waarom de tafel wiebelde, wat de menselijke timmerman helpt om het probleem te begrijpen.

2. Sommige fouten zijn moeilijker dan andere.

  • De AI was erg goed in het opsporen van de "Wobbles" (gedragsveranderingen).
  • De AI was iets minder goed in het opsporen van de "Instortingen" (compilatiefouten), vooral wanneer de fout heel subtiel was of te maken had met complexe regels over hoe de onderdelen van de tafel met elkaar verbonden zijn.
  • Interessant genoeg raakte de AI soms in de war door de manier waarop de tafel werd beschreven. Als je een nepplaatje toevoegde of de kleur van het hout veranderde (metamorfe testen) zonder de structuur daadwerkelijk te veranderen, zag de AI de breuk nog steeds. Dit suggereert dat de AI kijkt naar de structuur, en niet alleen een plaatje uit het hoofd leert.

3. Het "Groot Project"-probleem.

  • Wanneer de onderzoekers de AI probeerden te gebruiken op enorme, echte projecten waarbij ze alleen een "diff" (een lijst van wat er veranderd is, zonder het volledige plaatje) lieten zien, zei de AI vaak: "Ik weet het niet."
  • Dit gebeurde in ongeveer 40% van de gevallen. De AI besefte dat zij, zonder de hele werkplaats (de volledige codebase) te zien, niet zeker kon weten of het verplaatsen van een onderdeel iets in een andere kamer zou breken.

Het Oordeel

Het artikel concludeert dat deze AI "Super-Inspecteurs" geen perfecte vervanging zijn voor de oude, strikte regelboeken (traditionele tools). De oude tools zijn als een waterpas: ze zijn snel, goedkoop en 100% nauwkeurig voor de zaken die ze kunnen meten.

Echter, de AI is als een ervaren, wijze timmerman.

  • Hij kan lastige problemen opsporen die de waterpas mist.
  • Hij kan in begrijpelijke taal uitleggen waarom iets niet klopt.
  • Hij kan omgaan met nieuw hout (nieuwe programmeertalen) zonder dat er een nieuw handboek geschreven hoeft te worden.

De Beste Strategie: Gebruik eerst de snelle, goedkope waterpas. Als die niet alles vangt, of als het probleem vreemd is, vraag dan de AI "Super-Inspecteur" om een tweede blik te werpen. Ze werken het beste als een team, niet als rivalen.

Belangrijke Opmerking: Het artikel heeft dit alleen getest op Java-code (een specifiek type programmeertaal). Het beweert niet dat dit voor alle talen werkt of dat het de menselijke beoordeling volledig kan vervangen. De AI is een behulpzame assistent, geen toverstaf die alles automatisch oplost.

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 →