← Nieuwste papers
💻 computer science

From Discussion to Execution: Replicating Buggy and Correct Data Science Code

Dit artikel introduceert Reprodgen, een op LLM gebaseerd framework dat automatisch uitvoerbare buggy en gepatchte data science codeparen reconstrueert uit ongestructureerde Q&A-forumdiscussies door code iteratief te verfijnen via gestructureerde intentie-representaties en feedback van reviewers, wat uiteindelijk wordt gevalideerd op een nieuwe benchmark over zeven belangrijke data science-bibliotheken.

Oorspronkelijke auteurs: Ragib Shahariar Ayon, Mohammad Wardat, Shibbir Ahmed

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

Oorspronkelijke auteurs: Ragib Shahariar Ayon, Mohammad Wardat, Shibbir Ahmed

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 mysterie probeert op te lossen, maar de enige aanwijzingen die je hebt, zijn een paar gekrabbelde aantekeningen op een servetje en een vaag verhaal van een vriend. Je weet dat iemand een fout heeft gemaakt, en je weet dat ze het uiteindelijk hebben opgelost, maar je hebt niet de originele kapotte machine, de specifieke tools die ze gebruikten, of zelfs de juiste ingrediënten om een replica te bouwen. Dit is de dagelijkse strijd van de moderne data science. Wetenschappers en programmeurs delen hun problemen en oplossingen vaak op publieke fora zoals Stack Overflow, maar deze discussies zijn rommelig. Ze zitten vol met "wat als"-scenario's en ontbrekende details, wat het bijna onmogelijk maakt voor een computer om automatisch exact de kapotte code en de perfecte fix te recreëren. Het is alsof je probeert een taart te bakken met een recept dat zegt "voeg wat bloem toe" zonder te vertellen hoeveel, of welk type oven je moet gebruiken.

Om de oplossing te begrijpen, moeten we eerst weten wat een "bug" is in deze wereld. Denk aan een dataprogramma als een complex recept voor een digitaal gerecht. Een bug is een klein foutje in de instructies—misschien ben je vergeten de oven voor te verwarmen, of heb je suiker en zout door elkaar gehaald. Wanneer dit gebeurt, komt het gerecht niet goed uit. Meestal moet een mens de fout proeven, uitzoeken wat er misging, en het recept herschrijven. Maar wat als we een super-slimme robot konden leren om naar de rommelige aantekeningen te kijken, de ontbrekende ingrediënten te raden, het kapotte gerecht expres te maken, en ons dan precies te laten zien hoe we het kunnen oplossen? Dat is de grote vraag die dit artikel aanpakt: Kunnen we een systeem bouwen dat vage, informele verhalen over programmeerfouten omzet in echte, werkende code die we daadwerkelijk kunnen draaien en testen?

Maak kennis met Reprodgen, een nieuwe digitale detective gecreëerd door onderzoekers van de Texas State University en de Oakland University. Denk aan Reprodgen als een paar robotchefs die samenwerken in een high-tech keuken. Eén robot, de Generator, is de creatieve kok. Het leest de rommelige forumposts en probeert het kapotte recept (de buggy code) en het gerepareerde recept (de gepatchte code) te bouwen. Maar de Generator is geneigd tot dagdromen; het kan ingrediënten verzinnen die niet bestaan of vergeten de oven aan te zetten. Daarom heeft het een partner: de Reviewer. De Reviewer is de strenge hoofdkok die elk gerecht dat de Generator maakt proeft. Als het gerecht rauw is, stuurt de Reviewer het terug naar de keuken met een notitie: "Je bent de eieren vergeten," of "Dit smaakt niet goed, probeer het opnieuw." Ze werken in een loop, koken en proeven, totdat het gerecht perfect is.

De belangrijkste ontdekking van het artikel is dat deze "samen koken"-aanpak verrassend goed werkt. De onderzoekers hebben Reprodgen getest op 176 echte voorbeelden afkomstig van populaire data science-fora, die bekende tools zoals pandas en NumPy beslaan. Ze ontdekten dat Reprogens in staat was om de kapotte code en de fix succesvol te recreëren in ongeveer 60% van de gevallen voor de bugs en 52% van de gevallen voor de fixes. Dit is een grote zaak, omdat eerdere pogingen door andere slimme systemen vaak faalden in het produceren van code die daadwerkelijk kon draaien; ze schreven code die er op papier goed uitzag, maar crashte op het moment dat je het probeerde te gebruiken. Reprodgen slaagde er echter in om "executable" code te bouwen—wat betekent dat het daadwerkelijk draait op een computer zonder te breken.

Het artikel is echter voorzichtig om dit niet te bestempelen als een toverstaf die alles oplost. De onderzoekers beargumenteren expliciet tegen het idee dat simpelweg een slimme computer vragen om "code te schrijven" voldoende is. Ze testten andere top-systemen, zoals AutoCodeRover en ArchCode, en ontdekten dat deze systemen vaak opgaven wanneer de forumposts details misten. Ze produceerden ofwel code die niet kon draaien, of ze sloegen het kapotte deel volledig over en gaven alleen de oplossing. Reprodgen liet zien dat je die strikte review-loop moet hebben en dat je "mock data" (nep-ingrediënten) moet verzinnen om de gaten te vullen die de forumposts achterlaten.

De studie onthulde ook enkele interessante eigenaardigheden over de robotchefs. De onderzoekers testten verschillende "hersenen" (large language models) om te zien welke de beste kok was. Ze vonden dat de Qwen 2.5 en Gemma 3 modellen de meest betrouwbare waren, terwijl anderen meer moeite hadden. Interessant genoeg waren de robots veel beter in het recreëren van de kapotte versie van de code dan de gefixte versie. Het is makkelijker voor de robot om te raden wat de fout was (omdat de forumpost het probleem meestal duidelijk beschrijft) dan om de perfecte oplossing te raden (wat meer creatieve redenering vereist).

Wat betreft snelheid nam het systeem gemiddeld 35 seconden om elk probleem op te lossen, wat behoorlijk snel is voor een dergelijk complexe taak. Maar de onderzoekers merkten ook op dat de robots soms in de war raakten over welke specifieke tools of "libraries" nodig waren, wat suggereert dat hoewel het systeem slim is, het nog steeds hulp nodig heeft bij het bepalen van de exacte omgeving.

Uiteindelijk suggereert dit artikel dat we dichter bij een toekomst komen waarin computers automatisch kunnen leren van menselijke fouten en deze kunnen herstellen. De onderzoekers hebben niet alleen een tool gebouwd; ze hebben ook een nieuwe "testkeuken" gecreëerd genaamd ReprodgenBench-V, een collectie van 176 echte problemen die andere wetenschappers kunnen gebruiken om hun eigen robotchefs te testen. Ze hebben ook een openbaar klassement opgezet zodat iedereen kan zien welke modellen het beste zijn in deze taak. Hoewel het systeem nog niet perfect is—het mist nog steeds ongeveer de helft van de fixes—is het feit dat het een rommelig, incompleet verhaal kan omzetten in een werkend, draaiend programma een significante stap voorwaarts. Het bewijst dat we, met de juiste mix van creativiteit en strikte controle, machines kunnen leren om de rommelige realiteit van menselijke programmeerfouten te begrijpen.

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 →