🤖 AI Summary
This work addresses the scarcity of high-quality human-annotated data in formal program verification by introducing Formal Disco, a multi-agent collaborative framework that leverages three specialized large language model agents—initiators, fixers, and extenders—to jointly generate, repair, and expand verified programs. The system employs the principle of maximum entropy to guide synthesis and integrates a closed-loop feedback mechanism from formal verifiers for iterative supervised fine-tuning, thereby continuously enhancing both the diversity and correctness of synthesized programs. Formal Disco achieves the first large-scale, open-ended synthesis of formal verification programs and releases a high-quality dataset spanning Dafny, Verus, and Frama-C. Models fine-tuned on this dataset demonstrate verification performance comparable to, and in some cases surpassing, that of Claude Opus 4.5.
📝 Abstract
The cost of producing code is rapidly diminishing with increasingly capable AI agents, while quality assurance of generated programs has not kept pace. Formal verification provides the strongest possible guarantees, but the ability of AI models to work with verification-aware languages is hindered by the scarcity of human-written examples of programs in those languages. To tackle this prevalent data scarcity issue, we propose Formal Disco: a distributed system for coordination of LLM-based workers that can be easily applied to open-ended synthetic data generation at scale. We use Formal Disco to share tasks and programs between three classes of workers: "initiators", which read random READMEs from open-source repositories and documentation snippets to sketch a related verified program, "fixers" which take compiler and verifier feedback and attempt to resolve issues, and "extenders" that take working programs and propose patches to expand them. Formal Disco records all agent-generated traces and uses them both for initial distillation from a stronger model as well as self-improvement. We also propose a principle of maximum entropy for synthetic program generation, and use entropy maximization via iterative supervised fine-tuning to learn to generate increasingly diverse programs over time. We release large datasets of synthetic verified programs in three languages - Dafny, Verus, and Frama-C -, and fine-tune open models for verification-relevant tasks, often matching or exceeding the performance of Claude Opus 4.5. Overall, our work offers a path to create synthetic data at scale for formal reasoning domains and overcome the long-standing data barrier.