VeriSoftBench: Repository-Scale Formal Verification Benchmarks for Lean
Dit paper introduceert VeriSoftBench, een nieuw benchmark voor het evalueren van taalmodellen in Lean 4 binnen realistische software-repository-contexten, waarbij wordt aangetoond dat bestaande wiskundige modellen slecht presteren en dat succes sterk afhankelijk is van de complexiteit van de transitive afhankelijkheden.
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 meesterbouwer bent die gebouwen moet controleren op veiligheid. In de wereld van wiskunde is dit als het controleren van een standaard huis: je gebruikt dezelfde bekende gereedschappen (zoals een hamer of een zaag) en dezelfde blauwdrukken die iedereen kent. Dat is wat de meeste AI's tot nu toe hebben geoefend: ze zijn getraind op wiskundige puzzels die lijken op die standaardhuizen.
Maar in de echte wereld van softwareontwikkeling (zoals het bouwen van een ruimtevaartuig of een bankrekening) is het anders. Hier bouw je niet met standaardonderdelen, maar met unieke, complexe machines die elk project zelf heeft ontworpen. En het ergste: om te bewijzen dat je machine werkt, moet je vaak naar onderdelen kijken die in een heel ander gebouw staan, soms zelfs drie verdiepingen lager, en die weer afhankelijk zijn van nog meer onderdelen.
VeriSoftBench is een nieuw "examen" dat precies deze moeilijke situatie simuleert. Hier is hoe het werkt, vertaald naar alledaags taal:
1. Het Oude Examen vs. Het Nieuwe Examen
- Het Oude (Mathlib): Stel je voor dat je een test doet waarbij je alleen bekende wiskundige formules moet oplossen. Alle antwoorden staan in één groot, gemeenschappelijk naslagwerk dat iedereen kent. De AI's zijn hier heel goed in.
- Het Nieuwe (VeriSoftBench): Nu krijgen de AI's een test waarbij ze een bewijs moeten leveren voor een stukje software. Maar dit bewijs hangt af van 500 verschillende, unieke regels die in de code van dat specifieke project staan. Het is alsof je een puzzel moet oplossen, maar de stukjes liggen verspreid over 23 verschillende kasten in een gigantisch magazijn, en sommige stukjes verwijzen weer naar andere kasten.
2. De Drie Grote Ontdekkingen
De onderzoekers hebben gekeken hoe slimme AI's (zoals de nieuwste chatbots en speciale bewijsmachines) het deden op dit nieuwe examen. Ze ontdekten drie belangrijke dingen:
- De "Wiskunde-expert" faalt in de "Bouwput": AI's die getraind zijn op de standaard wiskundige puzzels, raken volledig in de war als ze in een project met eigen, unieke regels terechtkomen. Het is alsof je een meesterkok vraagt om een recept te maken met ingrediënten die hij nog nooit heeft gezien, in een keuken die hij niet kent.
- De "Kettingreactie" is het probleem: Hoe meer "stap-voor-stap" afhankelijkheden er zijn, hoe slechter de AI presteert.
- Analogie: Stel je voor dat je een brief moet schrijven, maar je moet eerst een zin vinden in hoofdstuk 1, die verwijst naar een tabel in hoofdstuk 10, die weer verwijst naar een notitie in de kelder. Als je 5 of 10 van die stappen moet doorlopen, raakt de AI de draad kwijt. Het is niet dat er te veel informatie is, maar dat de informatie te ver uit elkaar ligt in een lange keten.
- De "Gouden Gids" helpt, maar niet genoeg: De onderzoekers gaven de AI's twee soorten hulp:
- De volledige bibliotheek: De AI krijgt het hele magazijn te zien (duizenden pagina's). Dit is overweldigend en verwarrend.
- De "Cursieve" lijst: De AI krijgt alleen de specifieke pagina's die nodig zijn voor het bewijs (alsof iemand de juiste bladzijden uit het boek heeft uitgeknipt).
- Resultaat: De "Cursieve" lijst helpt zeker, de AI doet het beter. Maar zelfs met de perfecte lijst slaagt de AI maar in ongeveer 40% van de gevallen. Dit betekent dat het probleem niet alleen is dat de AI de juiste informatie niet kan vinden, maar dat het redeneren met die informatie in deze complexe omgeving nog steeds te moeilijk is.
3. Waarom is dit belangrijk?
Tot nu toe dachten we dat AI's bijna klaar waren om software te verifiëren, omdat ze zo goed waren in wiskundige puzzels. Dit onderzoek zegt: "Nee, wacht even."
Softwareverificatie is niet als het oplossen van een sudoku. Het is meer als het navigeren door een doolhof waar elke muur een andere taal spreekt en elke deur een sleutel vereist die in een andere kamer hangt. De huidige AI's zijn nog niet slim genoeg om die lange, complexe routes zelfstandig te vinden en te begrijpen.
Kortom: VeriSoftBench is een realistische "stress-test" die laat zien dat we nog een lange weg te gaan hebben voordat AI's echt veilig kunnen helpen bij het bouwen van complexe, kritieke software. Ze zijn goede wiskundestudenten, maar nog geen ervaren software-architecten.
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.