What's in a Proof? Analyzing Expert Proof-Writing Processes in F* and Verus
Rijul JainShraddha BarkeGabriel EbnerMd Rakib Hossain MisuShan LuSarah Fakhoury
Reveals how expert developers construct formal proofs in F* and Verus through fine-grained telemetry, establishing practical design principles that improve the performance of AI-driven proof synthesis agents.
Formal software verification using proof-oriented programming languages, such as F* and Verus, mathematically guarantees that code behaves correctly before deployment, providing critical assurance for high-stakes systems like operating system kernels and secure communications. However, these languages remain difficult to adopt due to steep learning curves, opaque automated verifier feedback, and high cognitive overhead. While artificial intelligence models offer potential to automate proof generation, tool designers currently lack a systematic understanding of how human experts navigate and structure proof development.
The article aims to evaluate how expert developers allocate effort and interact with automated verification tools, identify the underlying proof engineering strategies that drive task success, and demonstrate how these human insights can be used to improve automated artificial intelligence proof assistants.
To conduct this evaluation, the researchers instrumented the Visual Studio Code environments for F* and Verus to capture real-time telemetry across eight expert developers completing four benchmark programming tasks. The dataset comprises over 18,000 fine-grained interaction events, including code edits, automated verifier invocations, active error tracking, and pauses. The telemetry events were automatically categorized into distinct development states, such as specification, implementation, and proof. The researchers then applied statistical clustering and thematic analysis to post-task surveys to uncover behavioral archetypes, followed by a proof-of-concept case study implementing a multi-agent proof assistant architecture.
The analysis revealed three primary findings regarding expert workflow and task success. First, proof and specification activities dominate development time across both languages (roughly 55% to 65% of effort in F* and 60% in Verus), with specification refinement occurring continuously across all stages of a task rather than exclusively at the beginning. Second, unsupervised clustering uncovered three distinct developer archetypes: specification-first planners, balanced developers, and rapid verifiers. Specification-first planners, who front-loaded specification drafting (accounting for 56% to 74% of early edits) and maintained disciplined error management, achieved a 100% completion rate with the fastest task times. In contrast, rapid verifiers relied on aggressive verifier polling (exceeding 5.5 to 6.5 calls per minute) and tolerated persistent error states, which resulted in longer durations and lower success rates of 60% to 67%. Third, when human expert planning behaviors were mirrored in a multi-agent proof system separating high-level proof sketching from low-level syntax generation, the agent completed verified benchmarks within 7 to 8 verifier refinement loops, whereas an unguided baseline language model failed to reach a verified solution within 30 loops.
These findings indicate that formal verification success is heavily driven by deliberate, informal reasoning practices that are absent from final codebases, including problem decomposition, structured pauses, and controlled verifier interaction. For engineering organizations and software leaders, this means that automated proof tooling and artificial intelligence assistants must move beyond naive trial-and-error code generation. Instead, tooling should actively enforce structured task decomposition and error containment to lower development costs, reduce project timelines, and expand the practical reach of high-assurance software engineering.
The article recommends that developers of formal verification environments and artificial intelligence copilots design modular systems that support online lemma retrieval, step-by-step task planning, and targeted verifier error interpretation rather than raw automated feedback. Developers should also incorporate automated interventions that detect unproductive, rapid edit-verify loops and guide users back toward decomposition. Organizations adopting artificial intelligence for formal verification should deploy specialized, multi-agent pipelines that decouple strategic proof sketching from syntax formulation.
Confidence in these findings is supported by consistent behavioral patterns emerging independently across two distinct verification languages and alignment between telemetry data and qualitative surveys. However, readers should consider key limitations: the user study was conducted with a small cohort of eight experts on small-to-medium benchmark programs, and the proof-agent evaluation was limited in scope. Further research and broader pilot testing on large, multi-module industrial software systems are necessary before generalizing the performance improvements across all verification domains.
- Paper: VeruSAGE: A Study of Agent-Based Verification for Rust Systems, Chenyuan Yang et al. (2025). Its empirical study of Verus proof automation establishes the tool and task context that this paper investigates through expert development telemetry.
No sufficiently relevant recommendations were found.
