Onderzoekers hebben RAINFALL ontwikkeld, een neuro-symbolisch framework dat grote taalmodellen (LLM's) combineert met symbolische verificatie om automatisch te bewijzen dat computerprogramma's niet in een oneindige lus terechtkomen.
Het bewijzen dat een lus in een computerprogramma uiteindelijk stopt — ook wel loop-terminatie genoemd — is een cruciaal onderdeel van software engineering. Traditioneel gebeurt dit via het construeren van zogenaamde 'ranking functions'. Het handmatig opstellen van deze functies is echter een complex proces dat een hoge mate van expertise vereist. Om dit proces te automatiseren, is een nieuwe methode ontwikkeld die de creatieve kracht van kunstmatige intelligentie koppelt aan de strikte logica van formele verificatie.
De werking van RAINFALL
Het voorgestelde framework, genaamd RAINFALL, hanteert een specifieke cyclus van genereren, verifiëren en verfijnen. Volgens een publicatie op arxiv.org wordt de synthese van ranking-functies hierbij benaderd als een taak van code-aanvulling.
In de praktijk werkt het systeem door placeholders in het bronprogramma te plaatsen. Het taalmodel wordt vervolgens gedwongen om voor elke lus vier vooraf gedefinieerde slots in te vullen. Zodra het LLM een voorstel heeft gedaan, wordt dit resultaat direct gecontroleerd door een symbolische verifieerder. Indien de verificatie slaagt, is er een geldige ranking-functie gevonden. Bij een fout wordt de diagnostische informatie van de verifieerder omgezet in feedback in natuurlijke taal, waarna het taalmodel de output iteratief kan verbeteren.
Prestaties en benchmarks
De effectiviteit van RAINFALL is getest op twee publieke benchmark-suites die in totaal 358 terminerende C-programma's bevatten. Bij het gebruik van het model MiniMax V2.7 slaagde RAINFALL erin om voor 323 van deze programma's een verifieerbare ranking-functie te synthetiseren. Dit komt neer op een succespercentage van 90,22%.
Volgens de details in de presteert RAINFALL hiermee beter dan alle geteste baselines. Het systeem loste twaalf programma's meer op dan PROTON 2.1, het best presterende referentiemodel en de winnaar in de categorie terminatie van de SV-COMP 2026. Wanneer RAINFALL wordt gecombineerd met PROTON 2.1, stijgt het succespercentage zelfs naar 96,65%, wat betekent dat 346 van de 358 programma's correct konden worden geverifieerd.
Wetenschappelijke validatie
Om de resultaten te onderbouwen, hebben de auteurs — waaronder Rongkang Li, Jiaxin Hu en Fu Song — een ablatiestudie uitgevoerd. Hieruit bleek dat verschillende componenten van het framework elk een eigen bijdrage leveren aan het succes. De belangrijkste factoren zijn:
* De contracten van de placeholders;
* Het gebruik van few-shot voorbeelden;
* De integratie van symbolische verificatie;
* De feedbackloop op basis van diagnostische informatie.
Het onderzoek, dat is ingediend onder de categorieën Software Engineering, Artificiële Intelligentie en Logica in Computerwetenschappen op , concludeert dat dit een generiek en betrouwbaar kader biedt voor de synthese van ranking-functies.
Toekomstige richtingen
De resultaten van RAINFALL openen volgens de onderzoekers nieuwe wegen binnen de software engineering. Naast het bewijzen van terminatie kan deze benadering mogelijk worden uitgebreid naar de synthese van 'liveness certificates' die formeel controleerbaar zijn. Dit zou betekenen dat AI niet alleen kan helpen bij het schrijven van code, maar ook bij het leveren van wiskundige bewijzen dat software zich op een voorspelbare en correcte manier gedraagt.
Het volledige artikel van 24 pagina's is raadpleegbaar via de , waar de methodologie en de experimentele data uitgebreid worden toegelicht.