Verus-SpecGym: Een agentische omgeving voor het evalueren van specificatie-autoformalisatie
Verus-SpecGym: An Agentic Environment for Evaluating Specification Autoformalization
May 26, 2026
Auteurs: Anmol Agarwal, Natalie Neamtu, Pranjal Aggarwal, Seungone Kim, Jannis Limperg, Cedric Flamant, Kanna Shimizu, Bryan Parno, Sean Welleck
cs.AI
Samenvatting
AI-coderingsagenten worden steeds vaker gebruikt om echte software te schrijven, maar het waarborgen van de correctheid van hun uitvoer blijft een fundamentele uitdaging. Formele verificatie biedt een veelbelovende weg: een agent genereert code samen met een machinaal gecontroleerd bewijs, wat garandeert dat de code voldoet aan een formele specificatie. Er is echter geen garantie dat de formele specificatie zelf overeenkomt met de bedoeling van de gebruiker. In dit werk bestuderen we specificatie-autoformalizatie: of LLM-agenten informele programmeerproblemen kunnen vertalen naar getrouwe formele specificaties. We introduceren Verus-SpecBench, een benchmark van 581 spec-schrijftaken afgeleid van Codeforces-problemen gericht op Verus, een verificateur voor Rust, en Verus-SpecGym, een agentische omgeving waarin modellen interacteren met Verus, bash en het bestandssysteem om deze specificaties te ontwikkelen. De centrale uitdaging is evaluatie: door experts geschreven referentiespecificaties zijn duur om te schrijven, en LLM-beoordelaars kunnen subtiele fouten missen. We pakken dit aan door (a) Verus' exec_spec-mechanisme uit te breiden zodat gegenereerde specificaties als Rust-code kunnen worden uitgevoerd, en (b) ze te testen tegen officiële Codeforces-tests en adversariële gevallen geëxtraheerd uit Codeforces 'hacks', dit zijn randgevallen geschreven door concurrenten om incorrecte oplossingen te breken. Op Verus-SpecBench lost het sterkste model, Gemini 3.1 Pro, 77,8% van de taken op, andere grensmodellen lossen 51,1–57,8% op en OSS-modellen bereiken slechts 21,5–25,5%. Onze analyse van faalwijzen toont aan dat door modellen gegenereerde specificaties belangrijke invoeraannames kunnen weglaten, onjuiste uitvoer kunnen accepteren en geldige uitvoer kunnen verwerpen. We vinden ook dat LLM-als-rechter-evaluatie 26% van de fouten mist die onze evaluator opmerkt. Over het geheel genomen suggereren onze resultaten dat specificatie-autoformalizatie binnen bereik is voor grensagenten maar broos blijft, zelfs bij problemen waarvoor ze al correcte code kunnen genereren. De code, data en logs zijn te vinden op https://github.com/formal-verif-is-cool/verus-spec-gym
English
AI coding agents are increasingly used to write real-world software, but ensuring that their outputs are correct remains a fundamental challenge. Formal verification offers a promising path: an agent generates code together with a machine-checked proof, guaranteeing that the code satisfies a formal specification. However, there is no guarantee that the formal spec itself matches the user's intent. In this work, we study specification autoformalization: whether LLM agents can translate informal programming problems into faithful formal specifications. We introduce Verus-SpecBench, a benchmark of 581 spec-writing tasks derived from Codeforces problems targeting Verus, a verifier for Rust, and Verus-SpecGym, an agentic environment in which models interact with Verus, bash, & the filesystem to develop these specs. The central challenge is evaluation: expert-written reference specs are expensive to write, & LLM judges can miss subtle mistakes. We address this by (a) extending Verus's exec_spec mechanism so that generated specs can be executed as Rust code, & (b) testing them against official Codeforces tests & adversarial cases extracted from Codeforces "hacks", which are edge cases written by competitors to break incorrect solutions. On Verus-SpecBench, the strongest model, Gemini 3.1 Pro, solves 77.8% of tasks, other frontier models solve 51.1--57.8% & OSS models reach only 21.5--25.5%. Our analysis of failure modes shows that model-generated specs can omit important input assumptions, accept incorrect outputs, & reject valid ones. We also find that LLM-as-a-judge evaluation misses 26% of the failures our evaluator catches. Overall, our results suggest that spec autoformalization is within reach for frontier agents but remains brittle even on problems where they can already generate correct code. The code, data, & logs can be found at https://github.com/formal-verif-is-cool/verus-spec-gym