Vero: New benchmark reveals limitation of AI agents in building mathematically verified software across complex repositories
Listen to this article
Read by Anchor
With the growing reliance on AI agents for writing code and developing systems, the main dilemma remains the lack of strict guarantees for the correctness of generated code and its freedom from logical errors. The generation of mathematically verified code emerges as a promising path toward trustworthy software, where the agent does not only produce the program implementation but also provides a mathematical proof that the machine can use to match the code against precisely defined specifications. However, most previous evaluation criteria have remained limited to testing individual program functions, or have been confined to checking proof generation for previously implemented code, leaving an open question about these models' ability to make coherent decisions that combine programming and proof generation across multi-module software repositories.
To fill this research gap, a research team that includes researchers such as Duan Song and Chi Yi revealed the “Vero” benchmark, which represents the first dedicated evaluation environment for measuring agents' ability to build code and prove its correctness together at the level of the full software repository. The benchmark comprises 43 multi-module cases drawn from real-world software repositories written in languages such as Python, Dafny, Virus, and Cok. These cases cover complex and sensitive programming domains ranging from cryptographic protocols to distributed systems, with each case formulated within a repository built in the “Lin 4” language, with predefined APIs, manually refined mathematical specifications, and complete reference implementations.
Program verification does not stop at the safety of individually written functions; it also requires structural coherence that links mathematical logic with complex execution across the full repository paths.The new benchmark offers two evaluation tracks for agents, the first testing the generation of mathematical proofs only based on a given implementation, and the second testing joint generation of code and proof together. To ensure evaluation reliability and the integrity of benchmark data against hidden errors, the researchers introduced an auditing mechanism that allows agents to prove that specifications are not mathematically verifiable or to expose the invalidity of the reference code proof-wise, which helped during benchmark preparation to extract latent errors in code and specifications and correct them before formal adoption.
The experiments evaluated advanced configurations of leading programming agents after giving them direct access to the Lin language toolchain. The results showed that the strongest agent solved only 27 of the 43 benchmark cases, while all models failed to close or prove any of the mathematical specifications in the most complex and difficult repositories. These results reflect the large gap between current agent capabilities and the requirements for mathematically verified software development in real-world multi-module environments.
The inability to handle sensitive software repositories places clear limits on automating critical systems before achieving true inferential maturity.The research team made the Vero benchmark, together with the refinement track and associated evaluation tools, available to researchers and developers as a precise testbed for measuring progress in mathematically documented software synthesis. This step lays a new foundation for testing programming agents, confirming that the shift from superficial code generation to building mathematically verified software remains the most prominent technical challenge that generative models must overcome in the next phase.