ComBench: A Repo-level Real-world Benchmark for Compilation Error Repair
Dit paper introduceert ComBench, het eerste reproduceerbare benchmark voor het repareren van compilatiefouten op repository-niveau, dat door middel van een geautomatiseerd framework echte GitHub-fouten verzamelt en aantoont dat er een aanzienlijke kloof bestaat tussen de syntactische en semantische correctheid van door LLM's gegenereerde reparaties.
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
ComBench: De "Reparatie-School" voor Computerfouten
Stel je voor dat softwareontwikkeling een enorme, drukke bouwplaats is waar duizenden arbeiders (programmeurs) samenwerken aan een gigantisch kasteel. Soms, als ze een nieuwe muur bouwen of een raam plaatsen, past het niet goed. De bouwmeester (de compiler) schreeuwt dan: "STOP! Dit raam past niet in de muur!" Dit noemen we een compilatiefout.
Vroeger moesten programmeurs deze fouten zelf oplossen, wat vaak urenlang zoeken en piekeren kostte. Nu proberen we slimme computers (AI) om deze fouten voor hen op te lossen. Maar hier zit het probleem: tot nu toe werden deze slimme computers getraind op simpele oefeningen, alsof je een kind leert auto rijden op een lege parkeerplaats, en je vervolgens verwacht dat het direct een drukke stad in kan rijden.
Dit artikel introduceert ComBench, een nieuwe, eerlijke testomgeving om te zien of die slimme computers echt goed kunnen repareren in de echte wereld.
Hier is hoe het werkt, uitgelegd met simpele analogieën:
1. Het Probleem: De "Lege Parkeerplaats" vs. De "Drukke Stad"
De oude tests voor AI (zoals DeepFix) gaven de computer alleen een klein stukje code, alsof je een auto op een leeg veld zette. De fouten waren simpel: "Je mist een puntkomma."
- De realiteit: In echte projecten (zoals Bitcoin of OpenSSL) is het alsof de auto in een drukke stad staat. De fout is niet alleen een miste puntkomma, maar misschien: "Deze deur past niet omdat de muur in een ander gebouw een andere kleur heeft."
- Het gebrek: Oude tests keken niet naar de rest van het gebouw. Ze wisten niet dat de fout in bestand A eigenlijk veroorzaakt werd door een verandering in bestand B.
2. De Oplossing: ComBench (De Echte Stad)
ComBench is de eerste test die de AI in de echte, drukke stad zet.
- Hoe maken ze het? De onderzoekers kijken naar de "bouwlogboeken" (CI-logs) van grote, echte projecten op GitHub. Ze zoeken naar momenten waarop de bouwmeester echt schreeuwde: "Fout!"
- De "Reparatie-Kit": Ze halen niet alleen de fout, maar ook de echte oplossing die een menselijke expert later heeft ingebouwd. Ze bouwen ook een exacte kopie van de bouwomgeving (met Docker), zodat ze kunnen nagaan of de AI het echt oplost, zonder dat de rest van het gebouw instort.
- De Filter: Ze zijn heel streng. Als de AI een oplossing vindt die wel compileert (de auto start), maar de auto rijdt achteruit in plaats van vooruit (de logica is fout), dan telt dat niet als een geslaagde reparatie.
3. De Test: Wat hebben ze ontdekt?
De onderzoekers hebben 12 verschillende slimme AI-modellen (zoals GPT-5, Claude, en Qwen) getest in deze nieuwe "stad". Hier zijn de belangrijkste resultaten, vertaald naar alledaagse taal:
De "Schijn-oplossing" valkuil:
De beste AI (GPT-5) kon in 73% van de gevallen de auto laten starten (de code compileerde). Maar! In slechts 41% van die gevallen was de auto ook daadwerkelijk veilig en correct (de logica klopte).- Analogie: De AI zegt: "Ik heb het raam vastgezet!" en het raam zit er nu in. Maar ze hebben het raam op de verkeerde kant van de muur geplaatst. De auto start, maar je valt eruit als je erin stapt.
De "Agent" vs. De "Snelle Werknemer":
Ze testten twee manieren van werken:- Directe reparatie: De AI krijgt de fout en moet direct een oplossing geven (zoals een snelle werkman).
- Agent-modus: De AI krijgt een gereedschapskist en mag zelf door het hele gebouw lopen, bestanden openen en nadenken voordat hij repareert (zoals een detective).
- Resultaat: De "detective" (Agent) deed het vaak beter bij complexe fouten, maar alleen als de AI slim genoeg was. Bij minder slimme modellen werd het juist slechter, omdat ze in de war raakten door al dat zoeken.
Speciale talenten:
Net als mensen, zijn sommige AI's beter in bepaalde dingen. De ene AI is een meester in het oplossen van typefouten, terwijl de andere beter is in het begrijpen van complexe structuurfouten.
4. Waarom is dit belangrijk?
Voorheen dachten we dat AI bijna perfect was in het repareren van code, omdat ze hoge scores haalden op de "lege parkeerplaats"-tests. ComBench toont aan dat we nog een lange weg te gaan hebben.
- De les: AI kan goed zijn in het vinden van de symptomen (waar de fout zit), maar het is nog erg moeilijk voor hen om de oorzaak te begrijpen in een groot, complex project en de juiste oplossing te vinden zonder de logica te breken.
Kortom: ComBench is een eerlijke, realistische school voor AI's. Het leert ons dat we niet alleen moeten kijken of de code "werkt" (compileert), maar ook of het verstandig is. Het is een stap in de richting van AI die echt kan helpen bij het bouwen van de digitale wereld, zonder dat we bang hoeven te zijn dat het hele kasteel instort.
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.