AutoVerus: Automated Proof Generation for Rust Code
Open accessPublished version of a preprint
Abstract
Generative AI has shown its value for many software engineering tasks. Still in its infancy, large language model (LLM)-based proof generation lags behind LLM-based code generation. In this paper, we present A uto V erus . A uto V erus uses LLMs to automatically generate correctness proof for Rust code. A uto V erus is designed to match the unique features of Verus, a verification tool that can prove the correctness of Rust code using proofs and specifications also written in Rust. A uto V erus consists of a network of agents that are crafted and orchestrated to mimic human experts’ three phases of proof construction: preliminary proof generation, proof refinement guided by generic tips, and proof debugging guided by verification errors. To thoroughly evaluate A uto V erus and help foster future research in this direction, we have built a benchmark suite of 150 non-trivial proof tasks, based on existing code-generation benchmarks and verification benchmarks. Our evaluation shows that A uto V erus can automatically generate correct proof for more than 90% of them, with more than half of them tackled in less than 30 seconds or 3 LLM calls.
AI snapshot
Written from the paper’s full text.
TL;DR
AutoVerus is an LLM-agent system that automatically generates Verus proof annotations for Rust code by mimicking expert proof construction in three phases: preliminary generation, generic refinement, and error-driven debugging. On the new 150-task Verus-Bench, it proves 137 tasks (91.3%), versus 67 (44.7%) for a directly prompted GPT-4o baseline.
Key findings
- AutoVerus proves 137/150 Verus-Bench tasks (91.3%); the baseline proves 67/150 (44.7%). It proves all 11 CloverBench and all 38 Diffy tasks, and 68/78 MBPP plus 20/23 Misc tasks.
- Phase breakdown: Phase-1 proves 78 tasks, Phase-2 adds 22, and Phase-3 adds 37. For the 137 proved tasks, average cost is 8.8 LLM calls per task; about half finish in ≤2 calls, and total benchmark cost is about $37.
- Efficiency: with a 30-second budget, AutoVerus proves 81 tasks while the baseline proves fewer than 40; 22 seconds or 2 LLM calls per task suffices for AutoVerus to prove at least 67 tasks.
- Component results: merging helps 14 tasks; Houdini contributes to 16 proved tasks; 326 of 2,637 generated proof candidates (12.4%) are unsafe and filtered by Lynette. Repair agents are used 657 times, with 377 successful repairs (57.4%); AssertFail is most used (310 times, 46.8% success).
Methods
- Design: a network of LLM agents orchestrated in three phases—preliminary loop-invariant generation, generic proof refinement, and error-driven proof debugging—with Verus verification, Lynette AST-level safety/merging checks, Houdini subset checking, and filtering/ranking/merging of candidates.
- Data: Verus-Bench, 150 non-trivial proof tasks translated mainly from Diffy (38), MBPP-DFY-153 (78), CloverBench (11), and Misc (23); 2,849 executable LOC and 1,252 specification LOC.
- Evaluation: measures correctly verified tasks, time, and LLM calls; compares against a GPT-4o baseline and runs ablations over phases, few-shot examples, ranking, LLM choice, and temperature.
Limitations
- Stated: LLM randomness affects results; Verus-Bench’s 150 tasks cannot represent many real-world large-system proof tasks or guarantee coverage of all small-scale tasks; some AutoVerus authors were already familiar with some Diffy and Misc tasks; evaluation does not cover newer Verus-supported Rust features such as iterators.
- Stated: AutoVerus assumes specifications are already given, and the current prototype uses a single Rust function as the proof-generation unit.
- Evident from the text: 13 tasks fail, mainly due to arithmetic overflow/underflow proof struggles (6 tasks), limited knowledge of vstd data-structure axioms/lemmas (5 tasks), and complicated logic (2 tasks); AutoVerus proofs also contain more unnecessary loop invariants than human proofs.
Model-written summary. Check it against the paper before relying on it.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
0 of 51 cited sources checked · 0 supported · 0 flagged
- Findingown data
AutoVerus successfully finishes 100% of the Verus-Bench tasks coming from Diffy and CloverBench.
“It not only successfully finishes 100% of the Verus-Bench tasks coming from Diffy and CloverBench, but also 87% of the more complicated tasks coming from MBPP, which often require proof annotations that go beyond loop invariants.”
Quote in the paperSubstantial claim - Findingown data
Under the same tight budget of 30 seconds or 3 LLM calls per task, the baseline proves fewer than 40 Verus-Bench tasks.
“Even with a tight budget of 30 seconds or 3 LLM calls for each task, AutoVerus can figure out the correct proof for more than half of the Verus-Bench tasks, while the baseline can manage fewer than 40 tasks.”
Quote in the paperSubstantial claim - Findingcitation
The 150 proof tasks in Verus-Bench are mainly translated from Diffy, MBPP, and CloverBench into Rust/Verus.
“These 150 proof tasks are mainly translated from other benchmark suites (Diffy [6], MBPP [33], and CloverBench [42]) into Rust/Verus.”
Quote in the paperNot a substantial claim0 of 3 sources checked- cites Diffy [6]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites MBPP [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites CloverBench [42]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Findingown data
With a budget of 30 seconds or 3 LLM calls per task, AutoVerus proves more than half of the Verus-Bench tasks.
“Even with a tight budget of 30 seconds or 3 LLM calls for each task, AutoVerus can figure out the correct proof for more than half of the Verus-Bench tasks, while the baseline can manage fewer than 40 tasks.”
Quote in the paperSubstantial claim - Findingown data
AutoVerus successfully finishes 87% of the more complicated Verus-Bench tasks coming from MBPP.
“It not only successfully finishes 100% of the Verus-Bench tasks coming from Diffy and CloverBench, but also 87% of the more complicated tasks coming from MBPP, which often require proof annotations that go beyond loop invariants.”
Quote in the paperSubstantial claim
- Findingown data
Extracting single-function/file benchmark programs from Verus projects failed due to complicated code dependency and specifications.
“Even with our best efforts, extracting single-function/file benchmark programs from these projects failed due to complicated code dependency and specifications.”
Quote in the paperSubstantial claim - Findingown data
The authors built a benchmark suite of 150 non-trivial proof tasks based on existing code-generation and verification benchmarks.
“To thoroughly evaluate AutoVerus and help foster future research in this direction, we have built a benchmark suite of 150 non-trivial proof tasks, based on existing code-generation benchmarks and verification benchmarks.”
- Also stated in: § Error Details · plain
“To thoroughly evaluate AutoVerus and also to facilitate future research in AI-for-Verus, we have curated a benchmark suite that consists of 150 non-trivial proof tasks, with each task being a small Rust program associated with Verus specification.”
Quote in the paperSubstantial claim - Also stated in: § Error Details · plain
- Findingnone given
When given the code in Figure 3, GPT-4 tends to change it to the code in Figure 4.
“For example, when given the code in Figure 3, GPT-4 tends to change it to be that in Figure 4.”
Quote in the paperSubstantial claim - Findingown data
DeepSeek-R1 proves slightly fewer Verus-Bench tasks than GPT-4o/turbo.
“The AutoVerus framework, including its three-phase proof generation methodology and proof filtering, ranking, merging support, works well with different LLM models: GPT-4o, GPT-4-turbo, and Deepseek-R1 all achieve similar results, with DeepSeek-R1 proving slightly fewer tasks than GPT-4o/turbo, and GPT-4-turbo spending more time in proving the same number of tasks than GPT-4o.”
Quote in the paperNot a substantial claim - Findingown data
AutoVerus automatically generates correct proofs for more than 90% of the 150 tasks in Verus-Bench (137 out of 150).
“Our evaluation shows that AutoVerus can automatically generate correct proof for more than 90% of them, with more than half of them tackled in less than 30 seconds or 3 LLM calls.”
- Also stated in: § Error Details · plain
“It automatically proves more than 90% of the tasks in Verus-Bench (137 out of 150).”
Quote in the paperSubstantial claim - Also stated in: § Error Details · plain
- Findingown data
GPT-4-turbo spends more time proving the same number of Verus-Bench tasks than GPT-4o.
“The AutoVerus framework, including its three-phase proof generation methodology and proof filtering, ranking, merging support, works well with different LLM models: GPT-4o, GPT-4-turbo, and Deepseek-R1 all achieve similar results, with DeepSeek-R1 proving slightly fewer tasks than GPT-4o/turbo, and GPT-4-turbo spending more time in proving the same number of tasks than GPT-4o.”
Quote in the paperNot a substantial claim - Findingown data
A baseline that directly prompts GPT-4o proves 45% of Verus-Bench tasks (67 out of 150).
“In contrast, a baseline design of directly prompting GPT-4o can only prove 45% of these tasks (67 out of 150), although this baseline has a much longer time budget, a larger LLM-call budget, a carefully designed prompt, and an unfair advantage of including the answer proof to four complicated Verus-Bench tasks as examples.”
Quote in the paperSubstantial claim - Findingown data
For the Diffy benchmark task with 4 loops, none of the five programs output by the LLM is correct.
“For this task, none of the five programs output by the LLM is correct.”
Quote in the paperNot a substantial claim - Findingown data
AutoVerus consistently outperforms the baseline, finishing about twice as many tasks under the same time and LLM-call budget constraints.
“As we can see, AutoVerus consistently outperforms the baseline, finishing about twice as many tasks, under the same time and LLM-call budget constraints.”
Quote in the paperSubstantial claim - Findingreasoning
78 proof tasks in Verus-Bench are translated from the MBPP-DFY-153 dataset.
“78 proof tasks are translated from the MBPP-DFY-153 [33] dataset.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Findingown data
In Iteration 4 of the Fibonacci case study, Verus reports an assertion-failure on the newly added Line 9 of Figure 7c: fibo(m-1) <= fibo(m) cannot be verified to always hold.
“Verus reports an assertion-failure on the newly added Line 9 of Figure 7c fibo(m-1) <= fibo(m) cannot be verified to always hold.”
Quote in the paperNot a substantial claim - Findingown data
MBPP and Misc both heavily rely on Phase-3 debugging to generate proof annotations that go beyond loop invariants.
“In comparison, MBPP and Misc both heavily rely on Phase-3 debugging to generate proof annotations that go beyond loop invariants.”
Quote in the paperNot a substantial claim - Findingown data
The baseline scheme of repeatedly invoking GPT-4o proved 67 out of 150 tasks (44.7%), even though it was given 10 minutes for each task.
“Table 2 also shows that the baseline scheme of repeatedly invoking LLM (i.e., GPT-4o) was only able to prove 67 out of the 150 tasks (44.7%), even though it was given 10 minutes for each task.”
Quote in the paperSubstantial claim - Findingown data
AutoVerus successfully proves 137 out of 150 (91.3%) benchmark problems.
“AutoVerus successfully proves 137 out of 150 (91.3%) benchmark problems.”
Quote in the paperSubstantial claim - Findingown data
Provided with the Rust implementation and specification, AutoVerus generates proof annotations that allow Verus to prove the specification is guaranteed to hold for 137 out of 150 tasks.
“That is, provided with the Rust implementation and specification, AutoVerus is able to generate proof annotations that allow Verus to prove the specification is guaranteed to hold for 137 out of 150 tasks.”
Quote in the paperSubstantial claim - Findingown data
Verus-Bench contains 150 proof tasks.
“In total, Verus-Bench contains 150 proof tasks as shown in Table 1.”
Quote in the paperNot a substantial claim - Findingreasoning
The baseline failed many more tasks in MBPP and Misc than AutoVerus.
“Furthermore, the baseline scheme is poor in generating more complicated proof annotations, and failed many more tasks in MBPP and Misc than AutoVerus.”
Quote in the paperSubstantial claim - Findingcitation
11 proof tasks in Verus-Bench are from CloverBench.
“11 are from CloverBench [42].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [42]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Findingown data
AutoVerus verifies all of the problems from the CloverBench and Diffy benchmarks.
“Notably, AutoVerus verifies all of the problems from the CloverBench and Diffy benchmarks.”
Quote in the paperNot a substantial claim - Findingcitation
38 proof tasks in Verus-Bench come from the SV-COMP-2021 benchmark suite Diffy.
“38 come from a SV-COMP-2021 [12] benchmark suite, Diffy [6].”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [12]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [6]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Findingreasoning
Merging the second program into the first yields the perfect proof for that Diffy task.
“When we merge the second program (Figure 5b) into the first, we get the perfect proof in Figure 5c.”
Quote in the paperNot a substantial claim - Findingreasoning
All tasks from Diffy are handled by AutoVerus in the first two phases.
“Since the Diffy benchmark focuses on loop invariants, all the tasks from Diffy are handled by AutoVerus in the first two phases.”
Quote in the paperNot a substantial claim - Findingown data
The baseline succeeds in a similar number of tasks from Clover, MBPP, and Misc as Phase 1 and 2 of AutoVerus for simple loops.
“The baseline does fine in generating loop invariants for simple loops, succeeding in a similar number of tasks from Clover, MBPP, Misc as Phase 1, 2 of AutoVerus.”
Quote in the paperNot a substantial claim - Findingown data
AutoVerus with Deepseek-R1-32B performs slightly worse than AutoVerus with GPT-4 models (23 vs. 26).
“We have also evaluated AutoVerus with the open-source model Deepseek-R1-32B, and have observed a slightly worse performance than AutoVerus with GPT-4 models (23 vs. 26).”
Quote in the paperNot a substantial claim - Findingown data
The Houdini algorithm contributed to 16 successfully proved tasks across all phases, with 5 in Phase-1, 6 in Phase-2, and 5 in Phase-3.
“Finally, the Houdini algorithm contributed to 16 successfully proved tasks across all phases, with 5 in Phase-1, 6 in Phase-2, and 5 in Phase-3.”
Quote in the paperNot a substantial claim - Findingown data
For each of these cases, the Houdini algorithm helped identify a correct proof from an incorrect one.
“For each of these cases, the Houdini algorithm helped identify a correct proof from an incorrect one.”
Quote in the paperSubstantial claim - Findingown data
The alternative generic debugging agent, even with the same debugging budget (three attempts, each with up to 10 iterations), produces a correct proof for only 17 out of 37 tasks.
“Even with the same debugging budget (three attempts, each with up to 10 iterations), the new design only manages to produce a correct proof for 17 out of 37 tasks.”
Quote in the paperSubstantial claim - Findingown data
AutoVerus failed on 2 tasks with complicated logic.
“Finally, AutoVerus seemed lost and failed on 2 tasks with complicated logic.”
Quote in the paperNot a substantial claim - Findingown data
With GPT-4o temperatures 0.1, 0.4, 0.7, and 1.0, AutoVerus proves 21, 24, 25, and 26 tasks respectively.
“Finally, while setting the temperatures of GPT-4o to be 0.1, 0.4, 0.7, and 1.0, AutoVerus proves 21, 24, 25, and 26 tasks, respectively.”
Quote in the paperSubstantial claim - Findingown data
All other agents, except the Arithmetic Overflow repair agent, have a success rate of more than 50%.
“In comparison, all other agents, except for the Arithmetic Overflow repair agent, have a success rate of more than 50%.”
Quote in the paperNot a substantial claim - Findingown data
The 'fibonacci' task remains one of the most difficult tasks even for AutoVerus.
“However,”
Quote in the paperNot a substantial claim- The authors state this as an assumption: AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
- Findingown data
5 tasks are verified by adding #[verifier::loop_isolation(false)] to the best proof generated by Phase-2, requiring 0 iterations of LLM-based repair.
“Notably, 5 tasks are verified by adding #[verifier::loop_isolation(false)] to the best proof generated by Phase-2, and hence requires 0 iteration of LLM-based repair (as discussed in § 5).”
Quote in the paperNot a substantial claim - Findingown data
The assertion failure agent has a success rate of 46.8%, i.e., in 46.8% of times it generates a repair that reduces the number of assertion failures.
“Due to the wide variety of assertion failures, the assertion failure agent only has a success rate of 46.8% (i.e., in 46.8% of times, the agent generates a repair that reduces the number of assertion failures).”
Quote in the paperNot a substantial claim - Findingown data
Only 2 tasks require more than 8 iterations to be verified.
“Only 2 tasks require more than 8 iterations to be verified.”
Quote in the paperNot a substantial claim - Findingown data
Arithmetic overflow/underflow challenges caused AutoVerus to fail 6 tasks.
“In total, this type of challenge caused AutoVerus to fail 6 tasks.”
Quote in the paperNot a substantial claim - Findingown data
AutoVerus was able to generate proofs for the three tasks already explained in the online Verus Tutorial.
“AutoVerus was able to conquer these three tasks.”
Quote in the paperSubstantial claim- The authors state this as an assumption: AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
- Findingown data
For the 22 tasks not proved after Phase-1 but proved after Phase-2, 6, 3, 3, and 10 tasks are proved immediately after the Constant-Propagation, Array-Length, Quantifier, and Conditional-Loop-Invariant agents respectively.
“For the 22 tasks that are not proved after Phase-1 but are successfully proved after Phase-2 (refinement) of AutoVerus, 6, 3, 3, and 10 tasks are proved immediately after the use of Constant-Propagation agent, Array-Length agent, Quantifier agent, and Conditional-Loop-Invariant agent, respectively.”
Quote in the paperNot a substantial claim - Findingown data
Among all repair agents, the Assertion Failure repair agents are used most, 310 times total across 150 proof tasks, followed by Loop Invariant Failed Before Loop (131 times) and at the End of the Loop (85 times).
“As we can see, among all repair agents, the ones that repair Assertion Failure are used the most, for 310 times in total across 150 proof tasks, followed by the agent that repairs Loop Invariant Failed Before Loop (131 times) and at the End of the Loop (85 times).”
Quote in the paperNot a substantial claim - Findingown data
During Phase-1, ranking LLM output based on Verus output made a difference: more than half of the top-ranked proof candidates are not the first output produced by the LLM.
“During Phase-1, ranking LLM's output based on Verus output has made a difference, as more than half of the top-ranked proof candidates, according to Verus verification results, are not the first output produced by the LLM, as shown in Figure 9.”
Quote in the paperNot a substantial claim - Findingown data
For the 37 tasks requiring Phase-3, the average number of debugging iterations is 3.5 (median 2).
“For the 37 tasks that require Phase-3 of AutoVerus to prove, their average number of debugging iterations is 3.5 (median is 2).”
Quote in the paperNot a substantial claim - Findingown data
When the ranking scheme based on Verus results is discarded and LLMs choose the best output, AutoVerus verifies 12 fewer tasks.
“As also shown in the table, when we discard our ranking scheme, which is based on Verus results, and instead relies on LLMs to tell us the best output, AutoVerus verifies 12 fewer tasks.”
Quote in the paperSubstantial claim - Findingown data
The final proof generated by AutoVerus for the Fibonacci monotonicity task is different from the proof offered in the Verus Tutorial.
“Plus, the final proof generated by AutoVerus is different from the proof offered in Verus Tutorial.”
Quote in the paperNot a substantial claim- The authors state this as an assumption: AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
- Findingown data
AutoVerus failed to prove 13 tasks.
“AutoVerus failed to prove 13 tasks.”
Quote in the paperNot a substantial claim - Findingown data
GPT-4-turbo requires an average of 229.8 seconds per task, compared to 70.0 seconds for AutoVerus with GPT-4o.
“However, upon further analysis, we find that GPT-4-turbo requires significantly more time in AutoVerus to figure out the correct proofx-an average of 229.8 seconds per task, compared to just 70.0 seconds for AutoVerus with GPT-4o.”
Quote in the paperSubstantial claim - Findingown data
The majority of the proof tasks in Clover, MBPP, and Misc cannot be proved by adding loop invariants alone.
“The majority of the proof tasks in the other three sources (Clover, MBPP, Misc) cannot be proved by adding loop invariants alone”
Quote in the paperSubstantial claim - Findingnone given
Among the 150 Verus-Bench proof tasks, only the 38 Diffy tasks focus on loop invariants.
“In fact, among the 150 Verus-Bench proof tasks, only the 38 Diffy tasks focus on loop invariants.”
Quote in the paperSubstantial claim - Interpretationreasoning
AutoVerus summarizes common proof strategies used by Verus experts and puts them into the instructions of a set of LLM agents.
“Specifically, we summarize common proof strategies used by Verus experts and put them into the instructions of a set of LLM agents.”
Quote in the paperSubstantial claim - Interpretationnone given
AutoVerus consists of a network of agents crafted and orchestrated to mimic human experts' three phases of proof construction: preliminary proof generation, proof refinement guided by generic tips, and proof debugging guided by verification errors.
“AutoVerus consists of a network of agents that are crafted and orchestrated to mimic human experts' three phases of proof construction: preliminary proof generation, proof refinement guided by generic tips, and proof debugging guided by verification errors.”
Quote in the paperSubstantial claim - Interpretationreasoning
The separation of code implementation and proof in Verus raises the challenge of disciplining LLMs into not modifying the given implementation.
“On the other hand, this raises the challenge of disciplining LLMs into not modifying the given implementation.”
Quote in the paperSubstantial claim - Interpretationreasoning
AutoVerus relies on the code understanding and code synthesis capability of existing LLMs (e.g., GPT-4o) rather than on large training data sets.
“Unlike prior GenAI-for-proof work that trains a fine-tuned model [16,44] or builds a Retrieval Augmented Generation system to dynamically pick different examples for different proof tasks [33,55], we rely on the code understanding and code synthesis capability of existing LLMs (e.g., GPT-4o).”
Quote in the paperSubstantial claim0 of 4 sources checked- cites [16]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [44]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [55]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Premisenone given
In Verus, code implementation and proof are separated.
“Using a proof-oriented language like F * , code implementation and proof are intertwined; in contrast, in Verus, code implementation and proof are separated.”
Quote in the paperSubstantial claim - Interpretationreasoning
The separation of code implementation and proof in Verus means an easier task for AutoVerus, as it only needs to generate the proof but not the implementation.
“On one hand, this means an easier task for AutoVerus, as it only needs to generate the proof but not the implementation unlike that in GenAI-for-F * [5].”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [5]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationnone given
AutoVerus orchestrates its agents following the proof-development process of Verus experts.
“We also design AutoVerus to orchestrate these agents following the proof-development process of Verus experts.”
Quote in the paperSubstantial claim - Interpretationnone given
Verus-Bench is the first benchmark suite designed for Verus proof generation.
“This is the first benchmark suite designed for Verus proof generation, and we refer to it as Verus-Bench.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Verus' speed allows AutoVerus to feed many proof candidates to Verus to see which one works.
“Although this allows AutoVerus to feed many proof candidates to Verus to see which one works, it sometimes comes at the cost of extra annotations of loop invariants and asserts.”
Quote in the paperSubstantial claim - Premisecitation
Verus is a state-of-the-art SMT-based verifier for Rust with a particular focus on practical usage.
“First, the usage opportunity: Verus is a state-of-the-art SMT-based verifier for Rust with a particular focus on practical usage [24,43,56].”
Quote in the paperSubstantial claim0 of 3 sources checked- cites [24]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [43]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [56]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationnone given
AutoVerus uses LLMs to automatically generate correctness proofs for Rust code.
“AutoVerus uses LLMs to automatically generate correctness proof for Rust code.”
Quote in the paperSubstantial claim - Premisecitation
MBPP-DFY-153 contains 153 problems with specifications and verified implementation in/for Dafny, based on the MBPP dataset.
“That dataset contains 153 problems with specifications and verified implementation in/for Dafny, based on the MBPP dataset [2].”
Quote in the paperSubstantial claim0 of 2 sources checked- cites [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [2]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationreasoning
AutoVerus only explores a linear number of merging schemes.
“Since merging takes time, AutoVerus only explores linear, instead of exponential, number of merging schemes:”
Quote in the paperSubstantial claim - Interpretationcitation
AutoVerus applies the Houdini algorithm to efficiently check if a subset of the Verus proof annotations in a valid and safe program is a correct proof.
“Furthermore, for every valid and safe Verus program 𝑃 (no matter generated directly by LLM or through merging), we apply Houdini algorithm [17] to efficiently check if a subset of the Verus proof annotations in 𝑃 is a correct proof.”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [17]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Premisecitation
Given a set of proof annotations A that fail verification, if a subset of A is correct and sufficient to prove, the Houdini algorithm guarantees to identify this subset in a linear number of verifier invocations.
“Given a set of proof annotations A that fail the verification, if a subset of A is correct and sufficient to prove, Houdini algorithm guarantees to identify this subset in a linear number of verifier invocations.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [17]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Study design and conductnone given
The team who designed AutoVerus does not overlap with the team who set up the majority of Verus-Bench proof tasks, i.e., all those in MBPP and CloverBench.
“Finally, we have divided our team early so that the team who designed the AutoVerus does not overlap with the team who set up the majority of the Verus-Bench proof tasks (i.e., all those in MBPP and CloverBench).”
Quote in the paperSubstantial claim - Study design and conductown data
Verus-Bench tasks were mainly translated from three verification-related benchmark suites in other languages rather than written by the authors.
“First, instead of writing proof tasks ourselves, we mainly looked into three verification-related benchmark suites in other languages and translated those tasks into Verus.”
Quote in the paperNot a substantial claim - Interpretationown data
The ranking mechanism plays a crucial role in prioritizing LLM-generated candidates effectively, leading to improved overall performance.
“This demonstrates that the ranking mechanism plays a crucial role in prioritizing LLM-generated candidates effectively, leading to improved overall performance.”
Quote in the paperSubstantial claim - Premisecitation
None of the LLM-for-Dafny work focuses on synthesizing proof for a given code implementation.
“None of the LLM-for-Dafny work focuses on synthesizing proof for a given code implementation.”
Quote in the paperSubstantial claim0 of 4 sources checked- cites [30]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [34]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [42]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationreasoning
The designs and evaluation results of LLM-for-Dafny work are very different from AutoVerus.
“Thus, their designs and evaluation results are very different from AutoVerus.”
Quote in the paperNot a substantial claim - Premisecitation
The current Lemur tool cannot be directly applied to Verus because the program invariants and benchmark problems it discusses do not involve quantifiers or proof functions.
“The current Lemur tool cannot be directly applied to Verus (e.g., the type of program invariants and benchmark problems discussed there do not involve quantifiers or proof functions).”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [49]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Interpretationreasoning
Because AutoVerus needs to deal with a wide variety of proof annotations (assert, proof functions, loop invariants, quantifiers, collection types, etc.), its design is completely different from Loopy.
“Due to the wide variety of proof annotations that AutoVerus needs to deal with (assert, proof functions, loop invariants, quantifiers, collection types, etc.), its design is completely different from Loopy.”
Quote in the paperSubstantial claim - Interpretationown data
AutoVerus is much more than just synthesizing loop invariants.
“More importantly, as discussed earlier, AutoVerus is much more than just synthesizing loop invariants.”
Quote in the paperSubstantial claim
- Classified as probably not a substantial claim. 73
- May combine two claims. 68
- The quote only partly states this claim. 8
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingnone givenGPT-4o often tries to create a Verus sequence using !seq[...] or access the first x elements with seq[..x], both of which are invalid for the Verus Seq data type.
“For instance, GPT-4o often tries to create a Verus sequence using !seq[...] or access the first x elements with seq[..x], both of which follow Rust syntax but are invalid for Verus Seq data type.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe AutoVerus framework works with GPT-4o, GPT-4-turbo, and Deepseek-R1, all achieving similar results.
“The AutoVerus framework, including its three-phase proof generation methodology and proof filtering, ranking, merging support, works well with different LLM models: GPT-4o, GPT-4-turbo, and Deepseek-R1 all achieve similar results, with DeepSeek-R1 proving slightly fewer tasks than GPT-4o/turbo, and GPT-4-turbo spending more time in proving the same number of tasks than GPT-4o.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataPhase-1 finishes slightly over half of the 150 proof tasks, while Phase-2 refinement and Phase-3 debugging contribute 22 and 37 additional proven tasks respectively.
“As also shown in Table 2, Phase-1 is able to finish slightly over half of the 150 proof tasks, while Phase-2 refinement and Phase-3 debugging also contribute to 22 and 37 additional proven tasks respectively.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataWith 30 seconds per task, AutoVerus generates correct proof for 81 tasks, while the baseline cannot even finish 40 tasks.
“Furthermore, if we give each task only 30 seconds, AutoVerus can generate correct proof for 81 tasks, while the the baseline cannot even finish 40 tasks.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingnone givenFor that Diffy task, the other three programs are safe and valid.
“Fortunately, the other three programs are safe and valid.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningAll remaining 38 Diffy tasks were translated from C to Rust.
“We translated all the remaining 38 tasks from 𝐶 to Rust.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataThe function-post-condition repair agent in the Fibonacci case study added two asserts describing the transitive relationship fibo(n) <= fibo(m-1) and fibo(m-1) <= fibo(m).
“the agent added the two green-highlighted lines in Figure 7c.Interestingly, the LLM does not simply assert fibo(n) <= fibo(m), the failed post condition.Instead, it added two asserts that describe the transitive relationship of fibo(n) <= fibo(m-1), which matches the post-condition of the proof function right before it on Line 7, and fibo(m-1) <= fibo(m), which is quite nice.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataAutoVerus runs into different situations every time, and the final proof produced by it is not always the same.
“Since this is a difficult task, we have noticed that AutoVerus runs into different situations every time, and the final proof produced by it is not always the same.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe arithmetic-overflow repair agent in the Fibonacci case study added an assert stating the bound 0x8000_0000 for fib[i-1] + fib[i-2], synthesized lemma_fibo_monotonic, and used it to support the bound assertion.
“it figured out the right bound 0𝑥8000_0000 for the expression fib[i-1] + fib[i-2], probably based on the bound expressed in the fibo_fits_i32 spec-function in Figure 7b; 3) it realized that proving the monotonicity of the fibonacci sequence is needed and hence synthesized a new proof function lemma_fibo_monotonic and also used this function to support the bound assertion very nicely on Lines 28-31”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe baseline took much longer and many more LLM calls than AutoVerus to achieve its successes.
“Of course, the baseline took much longer and many more LLM calls to achieve this than AutoVerus, which we discuss below.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). The quote only partly states this claim.
Findingown dataFinally, Verus reports that the whole proof task in the Fibonacci case study was successfully done.
“Finally, Verus reports that the whole proof task was successfully done!”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataIn Iteration 3 of the Fibonacci case study, Verus reports that the while-loop is completely verified, but there is a new error: the post-condition fibo(n) <= fibo(m) of lemma_fibo_monotonic is not satisfied at the end of the function.
“Verus now reports that the while-loop in Figure 7a is completely verified, but there is a new error-the post-condition fibo(n) <= fibo(m) of the new function lemma_fibo_monotonic shown in Figure 7c is not satisfied at the end of the function.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe baseline succeeded for only 5 out of 38 Diffy tasks, while AutoVerus's Phase-1 alone generated correct proof for 26 Diffy tasks.
“However, the baseline cannot handle more complicated loop invariants, and hence succeeded for only 5 out of 38 Diffy tasks.In comparison, AutoVerus's Phase-1 alone generated correct proof for 26 Diffy tasks.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataAutoVerus proved 122 tasks in its first attempt, 10 more in its second attempt, and 5 more on its third attempt.
“Even though the default setting allows up to three attempts for AutoVerus, AutoVerus was able to prove 122 tasks in its first attempt, with 10 more proved in its second attempt and 5 more on its third attempt.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe baseline needs 458 seconds per task or 59 LLM-calls per task to succeed in 67 tasks; AutoVerus needs 22 seconds per task or 2 LLM-calls per task to generate correct proof for at least 67 tasks.
“In order for the baseline to succeed in 67 tasks, it needs a budget of 458 seconds per task or 59 LLM-call per task; in contrast, 22-second per-task or 2 LLM-call per task is sufficient for AutoVerus to generate correct proof for at least 67 tasks.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataThe entire process consumed 3 million input and 1.5 million output tokens.
“This entire process consumed 3 million input and 1.5 million output tokens.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataAnother program for that Diffy task encountered index out-of-bound errors in the last two loops and is ranked lower (V is 3).
“Another program encountered index out-of-bound errors in the last two loops, and hence is ranked lower (i.e., 𝑉 is 3).”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataThe final 23 tasks in Verus-Bench are Misc, a collection of 23 miscellaneous Verus programs from Verus tutorials or libraries, including algorithmic programs and challenging features.
“The final 23 is referred to as Misc.This is a collection of 23 miscellaneous Verus programs that appeared in Verus tutorials or libraries.They include some algorithmic programs, like bubble sort, binary search, fibonacci sequence, and tasks that contain challenging features like nested loops, expressing function post conditions as asserts instead of ensures, etc.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataProcessing the 137 tasks across three rounds required an average of 8.8 LLM calls per task; approximately half were completed with two calls or fewer, and a small number required more than 40.
“Processing these 137 tasks across three rounds required an average of 8.8 LLM calls per task.While approximately half of the tasks were completed with two calls or fewer, a small number required more than 40.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe total cost for the benchmark suite was approximately $37, including tasks that failed after all three rounds.
“Based on the Azure GPT-4o pricing at the time of our evaluation ($5 per 1M input tokens and $15 per 1M output tokens), the total cost for the benchmark suite was approximately $37, including tasks that failed after all three rounds.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataIn Iteration 1 of the Fibonacci case study, Verus reports one error for the best-so-far proof: the invariant fib.len() == n on Line 24 is not satisfied before the loop.
“Verus only reports one error for this version: invariant fib.len() == n on Line 24 is not satisfied before the loop.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataOf CloverBench's 39 Verus translations, 3 cannot be verified by the latest Verus, 4 have weaker specifications than variants already included, and 21 can be verified without proof annotations; the remaining 11 are added to Verus-Bench.
“Our manual inspection found that 3 of them cannot be verified by the latest version of Verus, 4 have weaker specifications than their variants already included in the dataset, and 21 can be verified without proof annotations.We add all remaining 11 into Verus-Bench.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataAfter the first repair in the Fibonacci case study, Verus reports two new errors: an arithmetic-overflow for fib[i-1] + fib[i-2] on Line 33, and the invariant on Line 21 that states fib[j] == fibo(j) for all j between 0 and i does not hold at the end of the loop.
“After the first repair, Verus now reports two new errors: 1) an arithmetic-overflow for fib[i-1] + fib[i-2] on Line 33; 2) the invariant on Line 21 that states fib[j] == fibo(j) for all 𝑗 between 0 and 𝑖 does not hold at the end of the loop.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataIn the highest-ranked program for that Diffy task, three loops and the function post-condition are verified (V score is 4), but two verification errors are reported for the last loop.
“In the highestranked program, three loops and the function post-condition are verified (i.e., 𝑉 score is 4), but two verification errors are reported for the last loop with the loop invariants shown in Figure 5a.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
FindingreasoningEach Verus-Bench task is a Rust program annotated with Verus specifications.
“we need a suite of proof tasks, with each task being a Rust program annotated with Verus specifications.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataAmong MBPP-DFY-153's 153 problems, 67 require no proof annotations to verify, 8 are too difficult to translate due to unsupported features, and the remaining 78 are included in Verus-Bench.
“Among these 153, 67 of them require no proof annotations to verify; 8 are too difficult to translate due to code features not well supported by Rust/Verus like floating points and string; the remaining 78 are all translated and included in Verus-Bench.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataThe first time the assertion-failure repair agent is called in the Fibonacci case study, no good repair is produced; at the second time, it produces a repair adding two asserts and an if m > 1 condition.
“In fact, the first time this repair agent is called upon, no good repair is produced.At the second time, the repair agent comes up with the repair shown in Figure 7d: it added two assert statements to help the SMT solver reason why fibo(m-1) cannot be larger than fibo(m); and it also added the if m > 1 condition to avoid negative indexing, as explained by its own comment.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataUnnecessary loop invariants are far more prevalent in AutoVerus proofs; on Diffy, AutoVerus generated an average of 22.2 loop invariants per task, 9.6 unnecessary, while human proofs contained 12.6 total invariants, with only 2.0 unnecessary.
“For example, on the Diffy benchmark, AutoVerus generated an average of 22.2 loop invariants per task, 9.6 of which were unnecessary.In contrast, human proofs for the same tasks contained 12.6 total invariants, with only 2.0 being unnecessary.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataOn the 30-problem sampled dataset, the default setting (GPT-4o, temperature 1.0) proves 26 tasks, the most among all settings; the baseline repeatedly invoking GPT-4o proves 14 tasks.
“Our default setting (with GPT-4o, temperature 1.0) proves 26 tasks, the most among all settings (shown in Table 5).Note, the baseline scheme of repeatedly invoking GPT-4o can only prove 14 tasks.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataProofs generated by AutoVerus and humans contain a similar number of useful loop invariants; AutoVerus used slightly fewer useful loop invariants on Misc and MBPP tasks, while the trend is reversed on Diffy and Clover tasks.
“As we can see in the blue bars of Figure 12, proofs generated by AutoVerus and those by humans contain a similar number of useful loop invariants.AutoVerus used slightly fewer useful loop invariants on Misc and MBPP tasks, while the trend is reversed on Diffy and Clover tasks.”
Quote in the paperNot a substantial claimThe quote only partly states this claim.
Findingown dataLack of full knowledge of the vstd library caused AutoVerus to fail 5 tasks involving complicated usage of Verus data structures.
“In total, this led to the failure in 5 tasks.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataGPT-3.5-turbo with AutoVerus outperforms the baseline of repeatedly invoking GPT-4o, proving 18 tasks.
“Furthermore, benefiting from the AutoVerus design, GPT-3.5-turbooutperforms the baseline of repeatedly invoking GPT-4o, proving 18 tasks.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataDuring the run producing Table 2, LLMs generated 2,637 proof candidates, of which 326 (12.4%) are unsafe; they were filtered out by Lynette.
“During the run of producing the results in Table 2, LLMs generated 2,637 proof candidates, of which as many as 326 (12.4%) are unsafe.Fortunately, they are filtered out by our Lynette tool.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataThe number of tasks that can be proved drops if any one of the three examples used by AutoVerus's Phase-1 agent is removed; the third example is most influential.
“As shown in Table 4, the number of tasks that can be proved drops if we remove any one of the three examples used by AutoVerus's Phase-1 agent.The third example stands out as particularly influential, resulting in the most reduction in proved tasks when removed.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown dataUnder the alternative design combining all five agents in Phase-1 and Phase-2 into one agent, 7 tasks that originally can be proved now cannot, including 3 tasks that originally can be proved with just Phase-1.
“Under this alternative design, 7 tasks that originally can be proved now cannot.This includes 3 tasks that originally can be proved with just Phase-1.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataFor 14 tasks, although none of the direct output of the Phase-1 agent is correct, merging some of them immediately provides correct proof.
“For 14 tasks, although none of the direct output of the Phase-1 agent is correct, merging some of them immediately provides correct proof just like the example in Figure 5.”
Quote in the paperNot a substantial claimMay combine two claims.
FindingreasoningAutoVerus makes the most repair-agent invocations with GPT-3.5, probably because the raw output of GPT-3.5 has the worst quality among all models; it needs the fewest repair-agent invocations with GPT-4o.
“Of course, the exact number of invocations are very different across different LLMs: AutoVerus has to make the most repair-agent invocations with GPT-3.5, probably because the raw output of GPT-3.5 has the worst quality among all models; on the other hand, AutoVerus needs the fewest repair-agent invocations with GPT-4o.”
Quote in the paperNot a substantial claimThe quote only partly states this claim.
FindingcitationThe only concerns for data leakage are three tasks in the Misc part of Verus-Bench: fibonacci, tail_triangle, and lemma_len_intersect, which are created based on examples in the online Verus Tutorial.
“The only concerns are three tasks in the Misc part of Verus-Bench,”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [47]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
May combine two claims.
Findingown dataGPT-4-turbo delivers competitive performance compared to GPT-4o, with both proving 26 out of 30 tasks; GPT-3.5-turbo allows AutoVerus to prove 18 tasks.
“While trying three different GPT models, we observe that GPT-4-turbo delivers competitive performance compared to our default setting with GPT-4o, with both models power AutoVerus to prove 26 out of the 30 tasks.In contrast, GPT-3.5-turboonly allows AutoVerus to prove 18 tasks.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingnone givenThe Inference Dataset includes all 78 tasks correctly proved by AutoVerus using Phase-1 alone; the Refinement Dataset includes all 22 tasks requiring both Phase-1 and Phase-2.
“The Inference Dataset includes all the 78 tasks that can be correctly proved by AutoVerus using Phase-1 alone; the Refinement Dataset includes all the 22 tasks that require both Phase-1 and Phase-2 to be proved by AutoVerus.”
Quote in the paperSubstantial claimMay combine two claims.
Findingown dataAutoVerus invokes a similar set of repair agents with different LLMs: the assertion failure repair agent is most frequently used for all models except GPT-4-Turbo; the popularity of arithmetic under/overflow, two types of invariant failures, and post-condition failures are similar; the two types of pre-condition failures are rarely encountered.
“Generally speaking, AutoVerus invokes a similar set of repair agents with different LLMs: the repair agent for assertion failures is most frequently used for all models except for GPT-4-Turbo; the popularity of repair agents for arithmetic under/overflow errors, two types of invariant failures, and post-condition failures are similar; the two types of pre-condition failures are rarely encountered”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataAutoVerus's proof and the Verus Tutorial's proof both prove the monotonicity of the Fibonacci sequence, but they divide the proof into different sets of cases and conduct the inductive proof differently.
“although both functions prove the monotonicity of the Fibonacci sequence, they divide the proof into different sets of cases and also conduct the inductive proof differently.”
Quote in the paperNot a substantial claim- The authors state this as an assumption: AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
Probably not a substantial claim: may not pass S3 (load-bearing).
Findingown dataThe fifth output is almost never the top-ranked candidate based on Verus, which happens in about 3% of model invocations.
“Interestingly, the fifth output is almost never the top-ranked candidate based on Verus, which happens to about 3% of the model invocation.”
Quote in the paperNot a substantial claimMay combine two claims.
Findingown data43 out of 78 MBPP tasks and 11 out of 23 Misc tasks cannot be proved using loop invariants alone.
“for example, 43 out of 78 MBPP tasks and 11 out of 23 Misc tasks cannot be proved using loop invariants alone.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
Findingnone givenAutoVerus has achieved good results on Verus-Bench.
“AutoVerus has achieved good results on Verus-Bench, and provides a starting point for future research.”
Quote in the paperNot a substantial claim- The authors state this as an assumption: AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
Probably not a substantial claim: may not pass S3 (load-bearing).
Findingnone givenProof tasks that do not require any proof annotations are not included in Verus-Bench.
“This type of tasks is not included in Verus-Bench.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim. May combine two claims.
InterpretationreasoningPhase 1 of AutoVerus focuses on loop invariants because asserts and proof functions/blocks are typically added during proof debugging.
“Since asserts and proof functions/blocks are typically added during the proof debugging to provide extra hints to SMT solver, at this first phase of proof generation, AutoVerus focuses on loop invariants.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing), S4 (based).
InterpretationreasoningThe debugging phase is arguably the most important phase of AutoVerus because any mistake or limitation of the first two phases can be rescued there.
“This debugging phase is arguably the most important phase of AutoVerus: any mistake or limitation of the first two phases can be rescued here.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenLLMs easily stumble at subtle syntax extensions made by Verus upon Rust.
“However, this also produces challenges, as LLMs easily stumble at those subtle syntax extensions made by Verus upon Rust.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Premisenone givenThere is no subrange spec function for the Rust Vec type.
“For example, there is no subrange spec function for Rust Vec type.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Interpretationnone givenIn the Refinement phase, AutoVerus runs a series of agents, each looking for a common mistake or omission in loop invariants and conducting refinement accordingly.
“(2) Refinement phase: AutoVerus runs a series of agents, each looking for a common mistake or a common omission in loop invariants and conducting refinement accordingly;”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). The quote only partly states this claim.
InterpretationreasoningAutoVerus conducts proof generation in three phases: Generation, Refinement, and Debugging.
“Putting these together, AutoVerus conducts its proof generation for input Rust codefoot_3 in three phases, as shown in Figure 2: (1) Generation phase: AutoVerus uses an LLM agent to generate preliminary loop invariants;”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Interpretationnone givenIn the Debugging phase, AutoVerus goes through rounds of debugging guided by Verus to produce the correct proof, fixing loop invariants and adding proof annotations such as assert statements and lemma functions.
“(3) Debugging phase: Guided by Verus, AutoVerus goes through rounds of debugging to produce the correct proof, not only fixing loop invariants but also adding proof annotations like assert statements and lemma functions.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Interpretationnone givenThroughout the three phases, proof filtering, ranking, and merging are conducted using Verus and Lynette, an AST-level code analysis tool built upon the Verus parser.
“Throughout these three phases, proof filtering, ranking, and merging are conducted using Verus and Lynette, an AST-level code analysis tool that we build for AutoVerus upon Verus parser.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Interpretationnone givenIn the Generation phase, AutoVerus uses an LLM agent to generate preliminary loop invariants.
“(1) Generation phase: AutoVerus uses an LLM agent to generate preliminary loop invariants;”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.
Premisenone givenVerus does not require LLMs to learn a new language because LLMs should be familiar with Rust already.
“Unlike many verifiers, Verus does not require LLMs to learn a new language -LLMs should be familiar with Rust already.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningAutoVerus combines formal methods and static analysis to filter out invalid candidates, rank proof candidates based on Verus' feedback, and stitch proof snippets together.
“To effectively navigate through this huge search space, we combine formal methods and static analysis to quickly filter out invalid candidates, to rank proof candidates based on Verus' feedback, and to stitch proof snippets together in the hope of creating a perfect proof out of a collection of imperfect ones.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningVerus uses its abstract int type by default in specification functions and often requires type casting, which is difficult for LLMs like GPT.
“Verus uses its abstract int type by default in specification functions and hence often requires type casting, such as the 'i as int' on Line 28, 33-36 in Figure 1.This type of casting is difficult for LLMs like GPT that are used to Rust syntax.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Premisenone givenVerus leverages the Rust type system to avoid the complexity of reasoning about memory safety and aliasing, largely reducing the amount of needed proof annotation.
“Verus also leverages the Rust type system to avoid the complexity of reasoning memory-safety and aliasing, largely reducing the amount of needed proof annotation.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims. The quote only partly states this claim.
InterpretationreasoningPhase 3 targets the eight most common types of verification errors, with one repair agent per type, an extra repair agent for assertion errors, and a generic default repair agent.
“Specifically, AutoVerus targets the eight most common types of verification errors, including function pre-condition errors, vector-index out-of-bound errors (a common sub-type of function pre-condition errors), function post-condition errors, loop-invariant unsatisfied at the beginning of a loop errors, loop-invariant unsatisfied at the end of a loop errors, assertion errors, arithmetic under/ov”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S4 (based).
PremisereasoningVerus' emphasis on verification speed sometimes comes at the cost of extra proof annotations that may not be needed by other SMT-based verifiers (e.g., Dafny).
“Verus' emphasis on verification speed, a property that is critical for Verus to work for large system code, sometimes comes at the cost of extra proof annotations that may not be needed by other SMT-based verifiers (e.g., Dafny), which creates extra challenges for GenAI.”
Quote in the paperNot a substantial claimMay combine two claims.
Premisenone givenVerus directly works on Rust code, and Verus specifications and proof annotations are written with Rust syntax and inlined in the Rust code as ghost code.
“Verus directly works on Rust code; Verus specifications and proof annotations are also written with Rust syntax and are inlined in the Rust code under proof in the form of ghost code.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). The quote only partly states this claim.
Interpretationnone givenPhase 2 consists of four refinement agents: Constant-Propagation, Array-Length, Quantifier, and Conditional-Loop-Invariant.
“The refinement phase consists of a series of LLM agents, each aiming one common mistake in the writing of loop invariants in Verus:”
- Also stated in: § 4.2.1 Refinement-Agent Design. · plain
“Constant-Propagation agent checks if the function pre-condition includes properties about a read-only parameter, and adds these properties as invariants to every loop in the function.”
Quote in the paperNot a substantial claim- Also stated in: § 4.2.1 Refinement-Agent Design. · plain
Classified as probably not a substantial claim.
InterpretationreasoningMisuse of Rust APIs in Verus annotation is very common for inexperienced users and LLMs.
“As another example, since Rust executable functions cannot be called in ghost code, misuse of Rust APIs in Verus annotation is very common for inexperienced users and LLMs.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based). May combine two claims.
Premisenone givenVerus proof annotations, although written in Rust syntax, have usage very different from regular Rust executable code and require expertise in verification to master.
“Furthermore, although Verus proof annotations (short as proof) are written in Rust syntax, their usage is very different from regular Rust executable code and require expertise in verification to master.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Interpretationnone givenAutoVerus keeps running debugging iterations until a correctly proved program is found or a pre-configured threshold is reached (10 iterations by default).
“AutoVerus keeps running these iterations until a correctly proved program is found or a pre-configured threshold is reached (10 iterations by default).”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
InterpretationreasoningAutoVerus configures all its agents with a high-temperature, multi-output setting so that a wide range of diverse and creative proofs can be generated.
“To handle inevitable and yet unexpected challenges in writing a proof, AutoVerus configures all its agents with a high-temperature, multi-output setting so that a wide range of diverse and creative proofs can be generated for AutoVerus to pick from.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
InterpretationreasoningAutoVerus uses an ordered list of Verus error types: type errors are top priority, followed by bound-related errors, then invariant-not-satisfied-before-loop errors, then remaining errors.
“The top one is type error, because they have to be fixed before Verus can compile the program and conduct verification attempt.The next two are bound-related errors, including the index-bound-error and arithmetic-overflow/underflow errors.”
- Also stated in: § 4.3.2 Repair-Agent Composition and Output Post-Processing. · plain
“After that, invariant-not-satisfiedbefore-loop errors get selected, as they are often easier to fix than other types of errors.Beyond that, all remaining errors are repaired one by one based on where they show up in the report of Verus.”
Quote in the paperSubstantial claim- Also stated in: § 4.3.2 Repair-Agent Composition and Output Post-Processing. · plain
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationDiffy contains 69 programs written in C designed to evaluate array and loop related verification.
“Diffy contains 69 programs written in C that were designed to evaluate array and loop related verification.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [6]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
Interpretationown dataAutoVerus filters out unsafe candidates through static analysis.
“AutoVerus first filters out the candidates that are unsafe, like the one in Figure 4, through static analysis.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim. May combine two claims.
Study design and conductnone givenThe baseline has the same temperature setting and 5-output per LLM-call as AutoVerus.
“Again, keep in mind that the baseline has the same temperature setting and 5-output per LLM-call as AutoVerus.”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims.
InterpretationreasoningIn Phase 3, AutoVerus collects all verification errors in the best-so-far program, picks one error to fix next, and prompts a repair agent that suits that error.
“In each iteration, AutoVerus collects all the verification errors E in 𝑃 𝐵 from Verus (Line 5), picks one error 𝐸 from E to fix next (Line 6), and prompts a repair agent that suits 𝐸 (Line 7).”
Quote in the paperSubstantial claimClassified as probably not a substantial claim. May combine two claims.
Study design and conductreasoningLynette checks whether an LLM output P is safe regarding the input Rust program and its specification P_o by comparing the pure Rust AST after erasing ghost code, comparing pre- and post-conditions, and searching for debugging ghost functions such as admit() or assume().
“To check whether a LLM output 𝑃 is safe regarding the input Rust program and its specification 𝑃 𝑜 , Lynette checks if 𝑃 and 𝑃 𝑜 can be compiled to the same executable by comparing the pure Rust AST of the files after erasing the ghost code; Lynette compares the pre-and post-condition of 𝑃 and 𝑃 𝑜 so the LLM cannot tweak them to change the goal of the verification; Lynette also searches for debug”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Study design and conductreasoningWhen comparing with the baseline, they show the number of verified tasks under the same time and LLM-call budget to be fair.
“When comparing with the baseline, we will show the number of verified tasks under the same time and LLM-call budget to be fair.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationThe Houdini algorithm has been used for GenAI-for-C and is applied here for Verus.
“This algorithm has been used for GenAI-for-C [23] and we apply it here for Verus.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [23]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Study design and conductnone givenThere is no overlap between the examples used by AutoVerus agents and Verus-Bench.
“Notably, there is no overlap between the examples used by AutoVerus agents and Verus-Bench.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisecitationMost Diffy tasks contain multiple loops and require good loop-invariant synthesis; 31 tasks require reasoning about non-linear equations.
“Most tasks in this suite contain multiple loops and hence require good loop-invariant synthesis.31 tasks here require reasoning about non-linear equations (e.g., knowing that (𝑖 + 1) 3 == 𝑖 3 + 3 * 𝑖 2 + 3 * 𝑖 + 1), which is not the focus of Verus system verification.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [6]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
Interpretationnone givenThe four refinement agents are designed based on common mistakes that the authors themselves typically commit when writing loop invariants.
“These four agents are designed based on common mistakes that we ourselves typically commit when we write loop invariants.”
Quote in the paperNot a substantial claimMay combine two claims.
Study design and conductreasoningLynette is AST-aware and ensures that deletion of unprovable proof annotations honors ghost expression boundaries and produces a syntactically correct result.
“Since Lynette is AST-aware, it makes sure that the deletion honors the boundary of ghost expression, and guarantees to produce a syntactically correct result.”
Quote in the paperSubstantial claimThe quote only partly states this claim.
Study design and conductreasoningThe baseline is given an unfair advantage of cheating: answers to four complicated tasks from Verus-Bench are put as examples in its prompt.
“Finally, we give this baseline an unfair advantage of”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductown dataThe baseline's prompt is essentially a summary of all prompts used in AutoVerus agents.
“To make this baseline competitive, we designed its prompt to essentially be a summary of all the prompts used in AutoVerus agents.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductown dataThe baseline uses the same LLM-temperature setting as AutoVerus (1.0) and is configured to generate 5 outputs per invocation, same as the Phase-1 agent in AutoVerus.
“It uses the same LLM-temperature setting as AutoVerus (1.0), and is configured to generate 5 outputs in each invocation, same as the Phase-1 agent in AutoVerus.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductreasoningLynette uses the pure Rust AST as an anchor to merge ghost code from two proof candidates P1 and P2, with the minimum merging unit being a ghost expression.
“Lynette first erases all of the ghost code in the program to obtain the pure Rust AST, which is the same for 𝑃 1 and 𝑃 2 , and uses it as the anchor to merge the ghost code in 𝑃 1 and 𝑃 2 .The minimum merging unit is a ghost expression, i.e., a Verus assertion, a proof block, or an invariant.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim. May combine two claims.
Study design and conductnone givenThe baseline uses the same LLM-temperature and 5-output per invocation setting as AutoVerus, and has a more sophisticated prompt and examples than any AutoVerus agent.
“Note that, this baseline scheme uses the same LLM-temperature and 5-output per invocation setting as AutoVerus, and has more sophisticated prompt and examples than any AutoVerus agent.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S4 (based).
InterpretationreasoningWith the basic proof-repair knowledge embedded in AutoVerus agents and robust post-processing, AutoVerus can reliably figure out a correct proof after a number of attempts.
“Fortunately, with the basic proof-repair knowledge embedded in AutoVerus agents and the robust post-processing, AutoVerus can reliably figure out a correct proof after a number of attempts.”
Quote in the paperNot a substantial claimClassified as probably not a substantial claim.
Study design and conductreasoningSince Verus can automatically tell whether a proof is correct, there is no manual effort involved even if they invoke LLM or execute the AutoVerus workflow multiple times.
“Keep in mind that since Verus can automatically tell whether a proof is correct, there is no manual effort involved even if we invoke LLM or execute the AutoVerus workflow for multiple times.”
Quote in the paperSubstantial claim- Rests on an assumption: Verus can automatically tell whether a proof is correct.
Classified as probably not a substantial claim. May combine two claims.
InterpretationreasoningAutoVerus considers a program with higher V as better, with lower E as the tie-breaker.
“For any two programs that contain the same executable Rust code, AutoVerus considers the one with higher 𝑉 score as the better one (i.e., more functions proved), with the tie-breaker being having a lower 𝐸 score (i.e., fewer verification errors).”
Quote in the paperSubstantial claimClassified as probably not a substantial claim.
Interpretationnone givenAutoVerus ranks remaining LLM-generated Verus programs based on a score tuple {V, E}, where V is the number of functions successfully verified by Verus and E is the number of verification errors reported by Verus.
“AutoVerus then ranks remaining LLM-generated Verus programs based on a score tuple {𝑉 , 𝐸} (Line 4 in Algorithm 1), with 𝑉 being the number of functionsfoot_4 successfully verified by Verus, and 𝐸 being the number of verification errors reported by Verus.”
Quote in the paperSubstantial claimMay combine two claims.
Study design and conductown dataVerus-Bench excludes trivial proof tasks that can be proved by Verus without any proof annotations; 88 proof tasks from source benchmark suites were rejected for this reason.
“Second, we make sure not to include any trivial proof tasks (i.e., tasks that can be proved by Verus without any proof annotations).In fact, 88 proof tasks from our source benchmark suites are rejected for this reason!”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductreasoningDue to the randomness of LLMs, the number of correctly verified tasks may change over runs; by default, they report the number after running AutoVerus three times.
“Due to the randomness of LLMs, the number of correctly verified tasks may change over runs.By default, we report the number of correctly verified tasks after running AutoVerus (the whole three phases) for three times; the same applies for various variants of AutoVerus.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisecitationCloverBench includes 60 example programs written and verified in Dafny, and its authors provide the Verus translation for 39 of them.
“This suite includes 60 example programs, as might be found in CS textbooks, written and verified in Dafny.The authors of CloverBench also provide the Verus translation for 39 of them.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [42]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
InterpretationreasoningIn Phase 2, each agent generates one proof candidate, so no merging or ranking is needed.
“The post-processing here is simpler than that of Phase-1: each agent only generates one, instead of five, proof candidates, and hence there is no merging or ranking needed.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
InterpretationreasoningVerbosity from unnecessary loop invariants can harm code and proof readability, but the negative impact is limited because an automated process can effectively remove them.
“While this verbosity can harm code and proof readability, the negative impact is limited, as an automated process can effectively remove these unnecessary annotations.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Study design and conductnone givenVerus-Bench is still just a collection of 150 tasks; it cannot represent many real-world proof tasks in large system code and cannot guarantee to represent all small-scale proof tasks.
“However, it is still just a collection of 150 tasks.It cannot represent many real-world proof tasks in large system code; it also cannot guarantee to represent all small-scale proof tasks.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationThe challenge of writing formal proofs has sparked interest in using LLMs to automate formal proof synthesis.
“This challenge has sparked interest in using LLMs to automate formal proof synthesis [28].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [28]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Rests on an assumption: Formal proofs offer mathematical guarantees of correctness against program specifications, yet writing these proofs remains a labor-intensive, expertise-driven process.
Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Study design and conductnone givenThe authors who participated in the design of AutoVerus are already familiar with some tasks in the Diffy benchmark and the Misc set.
“However, the authors who participated in the design of AutoVerus are already familiar with some of the tasks in the Diffy benchmark and in the Misc set.”
Quote in the paperNot a substantial claimMay combine two claims.
InterpretationreasoningFor the 137 successfully proved tasks, the quality of AutoVerus proof is good and in line with human-written proof.
“For the 137 tasks that AutoVerus successfully proved, at a high level, the quality of AutoVerus proof is good and in line with human-written proof -after all, passing the Verus verification is a high bar for quality.”
Quote in the paperSubstantial claimMay combine two claims.
Interpretationown dataThe design of AutoVerus is generally applicable for different LLM models and can effectively help boost the performance of LLMs.
“Overall, this result shows that the design of AutoVerus is generally applicable for different LLM models, and can effectively help boost the performance of LLMs.”
Quote in the paperSubstantial claimMay combine two claims. The quote only partly states this claim.
InterpretationreasoningThe impact of potential data leakage is minimal because Verus proofs for all 38 Diffy tasks and all 78 MBPP tasks were not publicly available throughout the research project, and the 11 CloverBench examples were released after the earlier GPT-4o models used.
“First, the (un-)availability of online Verus resources.Among the four sources of Verus-Bench, Verus proofs for all 38 Diffy tasks and all 78 MBPP tasks were not publicly available throughout this research project.The 11 examples from CloverBench were released in the late spring of 2024, while we utilized earlier GPT-4o models (with 2024-02-15 and 2024-05-13 versions), predating the widespread”
Quote in the paperNot a substantial claimMay combine two claims.
Interpretationown dataAutoVerus can work with different types of models, and code-proof remains a challenging task even for the new generation of reasoning models.
“It shows that AutoVerus can work with different types of models.It also shows that code-proof remains a challenging task even for the new generation of reasoning models.”
Quote in the paperNot a substantial claimMay combine two claims.
Interpretationown dataOnly 8 out of 657 (1.2%) repair iterations required the default repair agent, showing that the 9 error-specific repair agents offer good coverage of the most common verification errors.
“Note that, only 8 out of 657 (1.2%) repair iterations required the default repair agent.This shows that our 9 error-specific repair agents offer good coverage of the most common verification errors.”
Quote in the paperSubstantial claimMay combine two claims.
InterpretationreasoningUnnecessary loop invariants exist even in human-written proofs because it is challenging to identify the minimal set of evidence required by the verifier; for AutoVerus, the issue is exacerbated because LLM agents sometimes add identical loop invariants across multiple proof attempts.
“These unnecessary loop invariants exist even in human-written proofs, as it is challenging to identify the minimal set of evidence required by the verifier to finish a proof.For AutoVerus, this issue is exacerbated because LLM agents sometimes add identical loop invariants across multiple proof attempts.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductnone givenThe evaluation does not yet cover some of the newest Rust features supported by Verus, such as iterators.
“Finally, our evaluation does not yet cover some of the newest Rust features supported by Verus, such as iterators.”
Quote in the paperNot a substantial claimMay combine two claims.
PremisecitationLeanDojo, LEGO-Prover, and Baldur only work for interactive theorem provers and are primarily designed for maths rather than programs.
“However, they only work for interactive theorem provers and are primarily designed for maths rather than programs.”
Quote in the paperSubstantial claim0 of 3 sources checked- cites [55]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [48]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [16]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Classified as probably not a substantial claim.
Interpretationown dataA higher temperature setting is beneficial in fostering LLM creativity and exploring a wider range of potential solutions, as long as human experts and discipline are also applied.
“This aligns with our design intuition that a higher temperature setting is beneficial in fostering LLM's creativity and exploring a wider range of potential solutions, as long as human experts and discipline are also applied.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing).
PremisecitationLLMs have been revolutionizing various software engineering tasks.
“LLMs have been revolutionizing various software engineering tasks [10,46,50,52,53], especially for code generation [2,7], but the reliability of the generated code remains uncertain [29].”
Quote in the paperNot a substantial claim0 of 5 sources checked- cites [10]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [46]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [50]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [52]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [53]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationRecent efforts like LeanDojo, LEGO-Prover, and Baldur have used LLMs and leverage the vast existing data of interactive theorem provers to create RAG databases or fine-tune models.
“Recent efforts like LeanDojo [55], LEGO-Prover [48], and Baldur [16] have used LLMs, and they all leverage the vast existing data of interactive theorem provers to create RAG databases or fine-tune models.”
Quote in the paperNot a substantial claim0 of 3 sources checked- cites [55]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [48]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [16]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Classified as probably not a substantial claim. May combine two claims.
Study design and conductnone givenThe authors tried not to tune AutoVerus based on features of specific proof tasks in Verus-Bench, and the team setting up the majority of Verus-Bench did not participate in the design of AutoVerus.
“We have tried our best not to tune AutoVerus based on features of specific proof tasks in our Verus-Bench, and have our team that sets up the majority of the Verus-Bench not participating in the design of AutoVerus.”
Quote in the paperSubstantial claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationThe reliability of code generated by LLMs remains uncertain.
“but the reliability of the generated code remains uncertain [29].”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [29]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationVerus integrates Rust's borrow checker into its verification process, enforcing linearity and borrowing in specifications and proofs.
“Verus distinguishes itself further by integrating Rust's borrow checker into its verification process, enforcing linearity and borrowing in specifications and proofs.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [43]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [56]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
Study design and conductreasoningThere is inherent randomness in AutoVerus and the evaluation given the probabilistic nature of LLMs.
“There is an inherent randomness in AutoVerus and our evaluation given the probabilistic nature of LLM.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing).
InterpretationreasoningExisting Verus online resources are too few for LLMs to remember or understand.
“Based on these results, we suspect that existing Verus online resources are too few for LLMs to remember or understand.”
Quote in the paperNot a substantial claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
PremisecitationVerus's design simplifies reasoning about pointers and concurrency, making Verus particularly suited for systems verification.
“This design simplifies reasoning about pointers and concurrency, making Verus particularly suited for systems verification.[43,56].”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [43]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [56]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
InterpretationcitationAutoVerus and Loopy both leverage the Houdini algorithm.
“AutoVerus shares the similarity with Loopy as both leveraging Houdini algorithm.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [23]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
May combine two claims.
PremisecitationLoopy only focuses on loop invariants that do not involve quantifiers, arrays, etc., while AutoVerus does not have these constraints for loop-invariant synthesis.
“Loopy only focuses on loop invariants that do not involve quantifiers, arrays, etc., while AutoVerus does not have these constraints for loop-invariant synthesis.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [23]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
Premisecitation26.9% of the proof tasks in DafnyBench do not require any proof annotations.
“Note, 26.9% of the proof tasks in DafnyBench do not require any proof annotations.”
Quote in the paperNot a substantial claim0 of 1 sources checked- cites [30]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
Probably not a substantial claim: may not pass S3 (load-bearing).
PremisereasoningMost of the resulting Dafny programs from natural language description workflows contain easy or no proof annotations.
“Given the difficulty of generating the whole program based on natural language, most of the resulting Dafny programs contain easy or no proof annotations, as discussed in § 6.1.”
Quote in the paperNot a substantial claim0 of 2 sources checked- cites [33]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- cites [42]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
The paper relies on this without support.
At the time of writing, there are fewer than 10 projects on GitHub developed under Verus.
“At the time of writing, there are fewer than 10 projects on GitHub developed under Verus.”
The paper relies on this without support.
There has been little work about how GenAI can help directly prove the correctness of programs written in a general-purpose popular programming language.
“Furthermore, there has been little work about how GenAI can help directly prove the correctness of programs written in a general-purpose popular programming language.”
The paper relies on this without support.
The state of the art of GenAI-for-proof is still far behind that of GenAI-for-coding both in terms of benchmark building and generation capability.
“However, the state of the art of GenAI-for-proof is still far behind that of GenAI-for-coding both in terms of benchmark building and generation capability.”
The paper relies on this without support.
Verus is very young, with its development started about 3 years ago, and hence has much fewer examples for LLMs to learn from.
“However, also unlike many established verifiers, Verus is very young, with its development started about 3 years ago, and hence has much fewer examples for LLMs to learn from.”
The paper relies on this without support.
Considering the growing popularity of Rust, an effective proof assistant for Verus has the potential to benefit millions of developers.
“Considering the growing popularity of Rust [35,38,41], an effective proof assistant for Verus has the potential to benefit millions of developers.”
The paper relies on this without support.
Verus often takes only a second to verify a function.
“For example, Verus often takes only a second to verify a function.”
The paper relies on this without support.
No suite of Verus proof tasks existed before Verus-Bench.
“Since such a suite does not yet exist, we crafted Verus-Bench.”
The paper relies on this without support.
Verus can automatically tell whether a proof is correct.
“Keep in mind that since Verus can automatically tell whether a proof is correct, there is no manual effort involved even if we invoke LLM or execute the AutoVerus workflow for multiple times.”
The paper relies on this without support.
Verus has a loop-isolation configuration that, when set to false, allows facts from outside a loop body to be considered in the proof inside the loop body.
“Verus has a loop-isolation configuration that can affect the difficulty of proof.When it is set to be false, Verus will consider facts (e.g., function pre-conditions, asserts) from outside a loop body in its proof inside the loop body.”
The paper relies on this without support.
By default, Verus's loop-isolation configuration is set to true for performance reasons.
“By default, this configuration is set to be true for performance reasons.”
The paper relies on this without support.
Formal proofs offer mathematical guarantees of correctness against program specifications, yet writing these proofs remains a labor-intensive, expertise-driven process.
“Formal proofs offer mathematical guarantees of correctness against program specifications, yet writing these proofs remains a labor-intensive, expertise-driven process.”
The authors state this as an assumption.
AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.
“AutoVerus assumes that the specification (i.e., function pre-conditions and post-conditions) is already given.”
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
Each contradiction between two passages listed here was confirmed by an independent check.
Fibonacci invariant is assigned two different line numbers
MinorThe text first places the failing `fib.len() == n` invariant on Line 24, then says the same invariant was deleted from Line 23.
“invariant fib.len() == n on Line 24 is not satisfied before the loop.”
“it deleted this invariant from Line 23”
Cites
Proceedings of the 25th international conference on Machine learning - ICML '08
(2008) · doi:10.1145/1390156 · Cited by 6,865 · see citing works
Evaluating Large Language Models Trained on Code
Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H. P. D. O., Kaplan, J., Edwards, H., Burda, Y., Joseph, N., Brockman, G., et al. (2021) · arXiv · doi:10.48550/arxiv.2107.03374 · Cited by 1,436 · see citing works
Dafny: An Automatic Program Verifier for Functional Correctness
Leino, K. R. M. (2010) · Lecture Notes in Computer Science · doi:10.1007/978-3-642-17511-4_20 · Cited by 940 · cited 1× · see citing works
“It would be great if GenAI could synthesize not only code but also code-correctness proof.”
(1994) · Springer eBooks · doi:10.1007/bfb0030541 · Cited by 578 · see citing works
Houdini, an Annotation Assistant for ESC/Java
Flanagan, C., & Leino, K. R. M. (2001) · Lecture notes in computer science · doi:10.1007/3-540-45251-6_29 · Cited by 406 · cited 1× · see citing works
“Although this allows AutoVerus to feed many proof candidates to Verus to see which one works, it sometimes comes at the cost of extra annotations of loop invariants and assert s.”
Program Synthesis with Large Language Models
Austin, J., Odena, A., Nye, M., Bosma, M., Michalewski, H., Dohan, D., Jiang, E., Cai, C., Terry, M., Le, Q., et al. (2021) · arXiv · doi:10.48550/arxiv.2108.07732 · Cited by 388 · see citing works
Liu, J., Xia, C. S., Wang, Y., & Zhang, L. (2023) · Advances in Neural Information Processing Systems 36 · doi:10.52202/075280-0943 · Cited by 384 · see citing works
RustBelt: securing the foundations of the Rust programming language
Jung, R., Jourdan, J.-H., Krebbers, R., et al. (2017) · Proceedings of the ACM on Programming Languages · doi:10.1145/3158154 · Cited by 376 · see citing works
Deng, Y., Xia, C. S., Peng, H., Yang, C., & Zhang, L. (2023) · Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis · doi:10.1145/3597926.3598067 · Cited by 326 · see citing works
Self-citationDependent types and multi-monadic effects in F*
Swamy, N., Hriţcu, C., Keller, C., Rastogi, A., Delignat-Lavaud, A., Forest, S., Bhargavan, K., Cédric Fournet, A., Strub, P.-Y., Kohlweiss, M., et al. (2016) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/2837614.2837655 · Cited by 323 · cited 2× · see citing works
“Indeed, recent research [5, 13, 30, 33, 34, 42, 54] has shown the potential of GenAI in synthesizing proofs in proof-oriented languages like LEAN [9], F ∗ [44], Dafny [27].”
Automated Program Repair via Conversation: Fixing 162 out of 337 Bugs for $0.42 Each using ChatGPT
Xia, C. S., & Zhang, L. (2024) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/3650212.3680323 · Cited by 279 · see citing works
The Lean 4 Theorem Prover and Programming Language
Moura, L. D., & Ullrich, S. (2021) · Lecture Notes in Computer Science · doi:10.1007/978-3-030-79876-5_37 · Cited by 258 · cited 3× · see citing works
“It would be great if GenAI could synthesize not only code but also code-correctness proof.”
InfluentialLeveraging rust types for modular specification and verification
Astrauskas, V., Müller, P., Poli, F., & Summers, A. J. (2019) · Proceedings of the ACM on Programming Languages · doi:10.1145/3360573 · Cited by 137 · see citing works
WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
Yang, C., Deng, Y., Lu, R., Yao, J., Liu, J., Jabbarvand, R., & Zhang, L. (2024) · Proceedings of the ACM on Programming Languages · doi:10.1145/3689736 · Cited by 100 · see citing works
Self-citationLeanDojo: Theorem Proving with Retrieval-Augmented Language Models
Yang, K., Swope, A., Gu, A., Chalamala, R., Song, P., Yu, S., Godil, S., Prenger, R. J., & Anandkumar, A. (2023) · Advances in Neural Information Processing Systems 36 · doi:10.52202/075280-0944 · Cited by 97 · see citing works
Baldur: Whole-Proof Generation and Repair with Large Language Models
First, E., Rabe, M. N., Ringer, T., & Brun, Y. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616243 · Cited by 94 · see citing works
Verus: Verifying Rust Programs using Linear Ghost Types
Lattuada, A., Hance, T., Cho, C., et al. (2023) · Proceedings of the ACM on Programming Languages · doi:10.1145/3586037 · Cited by 93 · see citing works
Self-citationGenerative Language Modeling for Automated Theorem Proving
Polu, S., & Sutskever, I. (2020) · arXiv · doi:10.48550/arxiv.2009.03393 · Cited by 82 · see citing works
KernelGPT: Enhanced Kernel Fuzzing via Large Language Models
Yang, C., Zhao, Z., & Zhang, L. (2025) · International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) · doi:10.1145/3676641.3716022 · Cited by 68 · see citing works
Self-citationCreusot: A Foundry for the Deductive Verification of Rust Programs
Denis, X., Jourdan, J.-H., & Marché, C. (2022) · Lecture notes in computer science · doi:10.1007/978-3-031-17244-1_6 · Cited by 55 · see citing works
DebugBench: Evaluating Debugging Capability of Large Language Models
Tian, R., Ye, Y., Qin, Y., Cong, X., Lin, Y., Pan, Y., Wu, Y., Haotian, H., Weichuan, L., Liu, Z., et al. (2024) · Findings of the Association for Computational Linguistics ACL 2024 · doi:10.18653/v1/2024.findings-acl.247 · Cited by 54 · see citing works
Aeneas: Rust verification by functional translation
Ho, S., & Protzenko, J. (2022) · Proceedings of the ACM on Programming Languages · doi:10.1145/3547647 · Cited by 51 · see citing works
Generating correctness proofs with neural networks
Sanchez-Stern, A., Alhessi, Y., Saul, L. K., & Lerner, S. (2020) · ACM SIGPLAN International Workshop on Machine Learning and Programming Languages (MAPL) · doi:10.1145/3394450.3397466 · Cited by 49 · see citing works
RustHornBelt: a semantic foundation for functional verification of Rust programs with unsafe code
Matsushita, Y., Denis, X., Jourdan, J.-H., et al. (2022) · doi:10.1145/3519939.3523704 · Cited by 46 · see citing works
TacTok: semantics-aware proof synthesis
First, E., Brun, Y., & Guha, A. (2020) · Proceedings of the ACM on Programming Languages · doi:10.1145/3428299 · Cited by 43 · see citing works
Clover: Closed-Loop Verifiable Code Generation
Sun, C., Sheng, Y., Padon, O., & Barrett, C. (2024) · Lecture Notes in Computer Science · doi:10.1007/978-3-031-65112-0_7 · Cited by 43 · see citing works
Dependent types and multi-monadic effects in F*
Swamy, N., Hriţcu, C., Keller, C., Rastogi, A., Delignat-Lavaud, A., Forest, S., Bhargavan, K., Cédric Fournet, A., Strub, P.-Y., Kohlweiss, M., et al. (2016) · ACM SIGPLAN Notices · doi:10.1145/2914770.2837655 · Cited by 40 · see citing works
Verus: A Practical Foundation for Systems Verification
Lattuada, A., Hance, T., Bosamiya, J., et al. (2024) · ACM SIGOPS Symposium on Operating Systems Principles (SOSP) · doi:10.1145/3694715.3695952 · Cited by 39 · see citing works
Self-citationTowards AI-Assisted Synthesis of Verified Dafny Methods
Misu, M. R. H., Lopes, C. V., Ma, I., & Noble, J. (2024) · Proceedings of the ACM on Software Engineering · doi:10.1145/3643763 · Cited by 38 · see citing works
Self-citationDiversity-driven automated formal verification
First, E., & Brun, Y. (2022) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3510003.3510138 · Cited by 35 · see citing works
RefinedRust: A Type System for High-Assurance Verification of Rust Programs
Gäher, L., Sammler, M., Jung, R., et al. (2024) · Proceedings of the ACM on Programming Languages · doi:10.1145/3656422 · Cited by 31 · see citing works
Diffy: Inductive Reasoning of Array Programs Using Difference Invariants
Chakraborty, S., Gupta, A., & Unadkat, D. (2021) · Lecture notes in computer science · doi:10.1007/978-3-030-81688-9_42 · Cited by 20 · cited 2× · see citing works
“Verus’ emphasis on verification speed, a property that is critical for Verus to work for large system code, sometimes comes at the cost of extra proof annotations that may not be needed by other SMT-based verifiers (e.g., Dafny), which creates extra challenges for GenAI.”
Finding Inductive Loop Invariants using Large Language Models
Kamath, A., Senthilnathan, A., Chakraborty, S., Deligiannis, P., Lahiri, S. K., Lal, A., Rastogi, A., Roy, S., & Sharma, R. (2023) · arXiv · doi:10.48550/arxiv.2311.07948 · Cited by 17 · see citing works
Self-citationModel Loss and Distribution Analysis of Regression Problems in Machine Learning
Yang, N., Zheng, Z., & Wang, T. (2019) · International Conference on Machine Learning and Computing (ICMLC) · doi:10.1145/3318299.3318367 · Cited by 16 · see citing works
Laurel: Unblocking Automated Verification with Large Language Models
Mugnier, E., Gonzalez, E. A., Polikarpova, N., Jhala, R., & Yuanyuan, Z. (2025) · Proceedings of the ACM on Programming Languages · doi:10.1145/3720499 · Cited by 14 · see citing works
3DGen: AI-Assisted Generation of Provably Correct Binary Format Parsers
Fakhoury, S., Kuppe, M. A., Lahiri, S. K., Ramananandro, T., & Swamy, N. (2025) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse55347.2025.00173 · Cited by 12 · cited 1× · see citing works
“A recent survey among professional developers has shown that more than 60% of developers are currently using AI-assistants in their code development, and yet two thirds of them do not trust the code generated by AI [40].”
Self-citationLEGO-Prover: Neural Theorem Proving with Growing Libraries
Wang, H., Xin, H., Zheng, C., Li, L., Liu, Z., Cao, Q., Huang, Y., Xiong, J., Han, S., Xie, E., et al. (2023) · arXiv (Cornell University) · doi:10.48550/arxiv.2310.00656 · Cited by 11
A Survey on Deep Learning for Theorem ProvingPreprint
Li, Z., Sun, J., Murphy, L., et al. (2024) · arXiv (Cornell University) · doi:10.48550/arxiv.2404.09939 · Cited by 10 · cited 1× · see citing works
“In this example, why those two assert statements are needed and why the ‘@’ symbol is needed on Line 20, 28, 33–36, can be difficult to understand for inexperienced Verus users and LLMs.”
DafnyBench: A Benchmark for Formal Software Verification
Loughridge, C., Sun, Q., Ahrenbach, S., Cassano, F., Sun, C., Sheng, Y., Mudide, A., Misu, M. R. H., Amin, N., & Tegmark, M. (2024) · arXiv · doi:10.48550/arxiv.2406.08467 · Cited by 6 · cited 3× · see citing works
“A recent survey among professional developers has shown that more than 60% of developers are currently using AI-assistants in their code development, and yet two thirds of them do not trust the code generated by AI [40].”
Self-citationAtmosphere: Towards Practical Verified Kernels in Rust
Chen, X., Li, Z., Mesicek, L., et al. (2023) · doi:10.1145/3625275.3625401 · Cited by 5 · see citing works
Thor: Wielding Hammers to Integrate Language Models and Automated Theorem Provers
Jiang, A. Q., Li, W., Tworkowski, S., et al. (2022) · neural information processing systems · doi:10.52202/068431-0608 · Cited by 4 · see citing works
Towards Neural Synthesis for SMT-Assisted Proof-Oriented ProgrammingPreprint
Chakraborty, S., Ebner, G., Bhat, S., et al. (2024) · arXiv (Cornell University) · doi:10.48550/arxiv.2405.01787 · Cited by 3 · cited 5× · see citing works
“To handle inevitable and yet unexpected challenges in writing a proof, AutoVerus configures all its agents with a high-temperature, multi-output setting so that a wide range of diverse and creative proofs can be generated for AutoVerus to pick from.”
InfluentialSelf-citationWhat's in a Proof? Analyzing Expert Proof-Writing Processes in F* and VerusPreprint
Jain, R., Barke, S., Ebner, G., et al. (2025) · arXiv (Cornell University) · doi:10.48550/arxiv.2508.02733
Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT
Xia, C. S., & Zhang, L. (2023) · arXiv · doi:10.48550/arxiv.2304.00385
3DGen: AI-Assisted Generation of Provably Correct Binary Format Parsers
Fakhoury, S., Kuppe, M., Lahiri, S. K., et al. (2024) · arXiv · doi:10.48550/arxiv.2404.10362
Self-citationLaurel: Unblocking Automated Verification with Large Language Models
Mugnier, E., Gonzalez, E. A., Jhala, R., et al. (2024) · arXiv · doi:10.48550/arxiv.2405.16792
Artifact of "AutoVerus: Automated Proof Generation for Rust Code" in OOPSLA 2025
Yang, C. (2025) · Zenodo · doi:10.5281/zenodo.16891950
Self-citation
Flagged first, then by citations
Research works printed but not linked: 7
- Bruno Barras, Samuel Boutin, Cristina Cornes, Judicaёl Courant, Yann Coscoy, David Delahaye, Daniel de Rauglaudre, Jean-Christophe Filliâtre, Eduardo Giménez, Hugo Herbelin,et al. 1999. The Coq proof assistant reference manual. INRIA, version 6, 11 (1999). https://hal.science/inria-00069919
- 10.1007/978-3-031-17244-l_6 · DOI
- 10.1145/3428299 · DOI
- Hayley LeBlanc Jacob R Lorch Chris Hawblitzel Cheng Huang Yiheng Tao Nickolai Zeldovich and Vijay Chidambaram. 2025. PoWER Never Corrupts: Tool-Agnostic Verification of Crash Consistency and Corruption Detection. In OSDI (to appear) (2025).
- Xudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma, Tej Chajed, Jon Howell, Andrea Lattuada, Oded Padon, Lalith Suresh, Adriana Szekeres, and Tianyin Xu. 2024. Anvil: Verifying Liveness of Cluster Management Controllers. In 18th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2024, Santa Clara, CA, USA, July 10-12, 2024. USENIX Association, 649–666. https://www.usenix.org/conference/osdi24/presentation/sun-xudong
- Haoze Wu, Clark W. Barrett, and Nina Narodytska. 2024. Lemur: Integrating Large Language Models in Automated Program Verification. In The Twelfth International Conference on Learning Representations, ICLR 2024, Vienna, Austria, May 7-11, 2024. OpenReview.net. https://openreview.net/forum?id=Q3YaCghZNt
- Ziqiao Zhou, Anjali , Weiteng Chen, Sishuai Gong, Chris Hawblitzel, and Weidong Cui. 2024. VeriSMo: A Verified Security Module for Confidential VMs. In 18th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2024, Santa Clara, CA, USA, July 10-12, 2024. USENIX Association, 599–614. https://www.usenix.org/conference/osdi24/presentation/zhou
Cited by
Sorted by citations
Challenges and Paths Towards AI for Software EngineeringPreprint
Gu, A., Jain, N., Li, W., Shetty, M., Shao, Y., Li, Z., Yang, D., Ellis, K., Sen, K., & Solar-Lezama, A. (2025) · Qeios · doi:10.32388/vv1661 · Cited by 24 · see citing works
(2025) · doi:10.1109/llm4code66737.2025.00014 · Cited by 6 · see citing works
“However, recent paradigm shifts in the ability to develop and enhance capabilities through supervised fine-tuning has led to fully autonomous software engineering, which includes code generation and execution in the development loop (e.g., Devin, Cognition AI, Inc. 2023, [Wan+24]).”
Zhang, Y., Wen, C., Xu, Z., Liu, D., Cao, J., Liu, Y., Qin, S., & Tian, C. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-30693-7_6 · Cited by 5 · see citing works
VERINA: Benchmarking Verifiable Code Generation
Ye, Z., Yan, Z., He, J., Kasriel, T., Yang, K., & Song, D. (2025) · arXiv · doi:10.48550/arxiv.2505.23135 · Cited by 3 · see citing works
“…– Python, Java Clover [12] ATP ✗ Dafny AlphaVerus [15] ATP ✗ Rust AutoSpec [27] ATP ✗ C/C++ SpecGen [28] ATP ✗ Java SAFE [16] ATP ✗ Rust AutoVerus [38] ATP – Rust Laurel [34] ATP – Dafny Pei et al. [33] ATP – Java Baldur [39], Selene [40] ITP – Isabelle Rango [41], PALM [42] ITP – Coq ITPs…”
Agentic Specification Generator for Move Programs
Fu, Y.-F., Xu, M., & Kim, T. (2025) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase63991.2025.00110 · Cited by 2 · see citing works
“…SG is built upon the same insights highlighted in the recent LLM for specification generation works [11], [12], [13], [14], [15], [16], [17], [18], [23], [24], [25], [26]: heuristic or rule-based specifications synthesis templates [21], [22] can hardly match the code comprehension and reasoning…”
InfluentialA benchmark for vericoding: formally verified program synthesis
Bursuc, S., Ehrenborg, T., Lin, S., Astefanoaei, L., Chiosa, I. E., Kukovec, J., Singh, A., Butterley, O., Bizid, A., Dougherty, Q., et al. (2025) · arXiv · doi:10.48550/arxiv.2509.22908 · Cited by 1 · see citing works
NL2VBench: A Benchmark for End-to-End Natural-Language to Verifiable Rust Generation
Hu, L., Wen, C., Liu, D., et al. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834619 · Cited by 1 · see citing works
“NL2VBench contains 762 verifier-checked tasks derived from five public sources [1, 2, 17].”
StarVerus: LLM-Powered Multi-Agent Collaboration for Industrial Rust Code Verification Automation
Jiang, C., Wang, D., Liu, D., Xu, Z., Wen, C., Ming, Z., Liu, Y., Wan, X., & Huang, L. (2026) · ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD) · doi:10.1145/3770855.3818485 · Cited by 1 · see citing works
“1-70B, while AutoVerus uses GPT-4o.”
InfluentialVerusSeek: Retrieval-Augmented LLM-Based Proof Synthesis for Rust Programs
Zhang, Y., Wen, C., Cao, J., Liu, D., Xu, Z., Liu, Y., & Qin, S. (2026) · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3832783.3834603
“We evaluate VerusSeek on 150 verification tasks in VerusBench [13], covering CloverBench [9], Diffy [2], MBPP [8], and Misc.”
Adaptive Proof Refinement with LLM-Guided Strategy Selection
Lu, M., Zhou, Z., Xie, D., Jia, S., Delaware, B., & Zhang, T. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834382
Self-citationSoftware Vulnerability Detection Based on LLM
Li, C., Guan, B., Zheng, Q., Liu, B., & Zhang, Z. (2025) · IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC) · doi:10.1109/imcec66174.2025.11331753
“Formal verification technique [10][19][20] can provide higher safety assurance, and be more excellent than static analysis in terms of mathematical logic.”
Trace: Securing Smart Contract Repository Against Access Control Vulnerability
Chen, C., Bao, L., Lo, D., Wang, Y., Shan, Z., Chen, T., Yin, G., Yu, J., Zheng, Z., & Chen, J. (2026) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2026.3660900 · Cited by 1 · see citing works
“Misu et al. [50] developed methods for AI-assisted synthesis of verified Dafny methods, while Yang et al. [51] presented AutoVerus for automated proof generation in Rust code using the Verus verifier.”
Multi-Stage Generation of Rust Unit Tests with LLMs
Chen, Y., Zhang, J., Hu, X., & Xia, X. (2025) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec66846.2025.00049
“…[52] introduced a novel “parametric prophecies” mechanism to enable formal reasoning about Rust programs containing unsafe code, while Yang et al. [53] developed a multi-stage LLM agent architecture that emulates expert-level proof construction, enabling scalable and efficient automated…”
Can LLM Aid in Solving Constraints with Inductive Definitions?
Feng, W., Shen, S., Liu, J. J., Chen, T., Song, F., & Wu, Z. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-26220-2_6
“Recent works have also explored LLM-assisted lemma/conjecture generation in deductive verification (e.g., Dafny [41] and Verus [52]), hardware model checking [35] and mathematical reasoning [1,48,6].”
Expecto: Extracting Formal Specifications from Natural Language Description for Trustworthy Oracles
Lee, D., & Heo, K. (2026) · Proceedings of the ACM on Programming Languages · doi:10.1145/3808332
Proofs Promptly: Proof-Oriented Programming with AI Agents (Experience Report)
Ioannidis, E., Swamy, N., Ebner, G., Philipose, M., & Ramananandro, T. (2026) · Proceedings of the ACM on Programming Languages · doi:10.1145/3828709
“…applies LLMs to verified systems code across languages and proof assistants, including agentic verification for Verus/Rust [Aggarwal et al. 2025; Yang et al. 2025a,b], annotation and method synthesis for Dafny [Misu et al. 2024; Poesia et al. 2024], verified C code generation from…”
Generative File Systems: Specification-Driven Synthesis and Evolution via LLMs
Liu, Q., Zhang, H., Zou, M., Du, D., Xia, Y., & Chen, H. (2026) · ACM Transactions on Storage · doi:10.1145/3844149
Beyond Benchmarks: A Case Study of LLM-Generated Verus Specification Failures on Asterinas Vostd
Liu, D., Wang, D., Jiang, C., et al. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834504
“When applied to industrial FVT, the same methods degrade sharply: AutoVerus [22], which does not consider project-level dependencies, discharges only 22.7%–24.5% of the reported obligations, and VeruSAGE [23], which handles project-level dependencies in a flattened manner, reaches 34.4%–41.7%.”
InfluentialBarista: Synthesizing Typestate Specifications with LLM Agents
Gamboa, C., Santos, P. H., Costa, R., Caetano, M., Aldrich, J., & Fonseca, A. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834427
ForkOps: Operating Fleets of Generated Software Variants
Bindschaedler, L. (2026) · doi:10.1145/3844178.3844641
“Generation research, and the verification [26] and variability [4, 21] work alongside it, invests in the upstream questions.”
Assessing Postcondition Completeness in Auto-Generated Function Contracts for Software Verification
Silveira, C. V. P., & Ferreira, M. F. T. (2026) · Simpósio Brasileiro de Testes de Software Sistemático e Automatizado (SAST) · doi:10.5753/sast.2026.30683
“Other lines of work focused on the generation of loop invariants [39, 41] which were required to prove an already available top-level specification.”
From Manual to LLM-Assisted Formal Verification of a PKCS#1 Signature Parser
Hána, M., Kosmatov, N., Prévosto, V., et al. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-41269-0_5
- Authors
- Yang, C., Li, X., Misu, M. R. H., Yao, J., Cui, W., Gong, Y., Hawblitzel, C., Lahiri, S., Lorch, J. R., Lu, S., Yang, F., Zhou, Z., & Lu, S.
- Affiliations
- University of Illinois Urbana-Champaign (US)
- Columbia University (US)
- University of California, Irvine (US)
- University of Toronto (CA)
- Microsoft (United States) (US)
- Microsoft Research Asia (China) (CN)
- ORCID
- Venue
- Proceedings of the ACM on Programming Languages
- Published
- 2025-10-09
- Volume
- 9
- Issue
- OOPSLA2
- Pages
- 3454-3482
- ISSN
- 2475-1421 (ISSN-L)
- OpenAlex
- W4415007625
- Cited by
- 20
- References
- 34
- Citations by year
- 2026: 15 · 2025: 5
- FWCI
- 8.16
- Type
- journal article
- Language
- en
- Open access
- diamond
- doi.org
- Licence
- cc-by
- Locations
- Proceedings of the ACM on Programming Languages (publishedVersion, cc-by)
- arXiv (Cornell University) (submittedVersion, cc-by)
- arXiv (Cornell University) (cc-by)
- Topics
- Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
- Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Keywords
- proof automation, Rust, Verus, large language models, program verification, multi-agent systems, correctness proofs, benchmark suite
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Claims read by deepseek-v4.1-flash under definition version 3 (extract-v3) on 2026-10-24.
Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-10-24.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review