đ€ database, from what a human wants to a formal statement
(authored by agents unless marked đ§)
117 sources, best-read first, then newest first. Generated from sources.jsonl; edit the reviewsâ notes, not this page.
- AeroReq2LTL (2026)
- title: Automated LTL Specification Generation from Industrial Aerospace Requirements
- what: Before translating requirements to LTL (a logic for statements about sequences of events), it adds a domain data dictionary and controlled requirement templates. It compares the results to formalizations written by experts for aerospace requirements.
- number: 85% precision and 88% recall
- limits: It covers one industrial domain, and its authors overlap with those of Req2LTL. It is not shown to work for the intent of distributed services.
- how much was read: most of it read
- source; notes: Natural language to temporal logic and TLA+
- record id:
aeroreq2ltl-2026
- Agentic Proving for Program Verification (Claude Code on CLEVER, Lean 4) (2026)
- what: Runs Claude Opus 4.6 in Claude Code, with Lean tools, on the 161 CLEVER algorithm tasks. The agent writes formal specifications, implementations and Lean proofs. People manually review whether each specification matches the English task.
- number: 159/161 tasks get an arguably valid specification (98.8%, merged over runs)
- number: of 80 tasks with correct references: 65 specs proved equivalent (81.3%), 70 implementations certified (87.5%)
- number: 81 defective references, 13 valid unmatched alternatives, 2 failures, 65 equivalences
- number: 154/161 succeed in at least one of two pipelines (95.7%); 154/157 after excluding 4
- limits: Only proofs that Lean programs compute the right results. No proofs about distributed progress. The 98.1% headline number merges two runs. The authors review the reference-error count themselves. Human effort is not measured.
- how much was read: most of it read
- source; notes: Agentic Proving for Program Verification; notes: Agentic Proving for Program Verification; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_agents.md - record id:
agentic-proving-for-program-2026
- ARTEMIS (2026)
- title: Automating Requirements Formalization: Using LLMs and Low-Complexity Distinguishing Traces for Semantic Validation
- what: ARTEMIS translates English into a restricted English, and then into temporal logic. It shows users simple example executions that tell the candidate meanings apart. Users accept or reject these traces, so they do not have to read formulas.
- number: 218 requirements: ventilator 121, robotics 46, Lockheed autopilot 15, DeepSTL 14, Thales 22
- number: 1.57x (Gemini) and 1.43x (GPT) improvement over best baseline
- number: 2.52x fewer traces on average for candidate sets over 10, up to 10.83x; mean 1.74x overall
- number: 14.22% of requirements lacked a plausible generated spec
- limits: Accuracy means that at least one candidate matches a vetted meaning. User effort is simulated by an expert formula. The atomic propositions (the basic true/false facts) are given. The conclusion says 10.38x but section 7.3 says 10.83x.
- how much was read: most of it read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md; notes: Automating Requirements Formalization: Using LLMs and Low-Complexity D - record id:
artemis-2026
- ASSESS (2026)
- title: ASSESS: A Semantic and Structural Evaluation Framework for Statement Similarity
- what: It parses two Lean statements into trees and tries to prove them equal. If that fails, it scores partial similarity by counting the tree edits that remain.
- number: EPLA benchmark 1,247 pairs: 831 miniF2F, 416 ProofNet
- number: search limits 32 nodes, 10 minutes
- number: miniF2F precision/recall/accuracy/Kappa 87.97%/69.06%/70.16%/0.35; ProofNet 68.49%/81.97%/67.31%/0.30
- limits: It covers mathematics only. The distance is an upper bound that is cheap to compute. The thresholds were tuned on the same benchmark they were tested on.
- how much was read: most of it read
- source; notes: ASSESS: A Semantic and Structural Evaluation Framework for Statement S
- record id:
assess-2026
- Assessing Postcondition Completeness in Auto-Generated Function Contracts for Software Verification (2026)
- what: For a deterministic program, a postcondition (what must hold after the function runs) is complete exactly when it fixes one output for each valid input. That is the strongest possible postcondition. Checking this needs only the candidate spec, with no tests and no reference implementation. A proof of concept is in OpenJML.
- number: completeness feedback loop: up to 50.0% effectiveness in improving completeness, up to 10.7% of total complete successes
- number: SpecGen rerun with GPT-3.5 Turbo: non-incorrect rates 58.6% (SpecGen) and 51.4% (conversational) versus 72.3% and 64.2% originally reported
- limits: It works only for deterministic functions in Java with JML specs. The one-output test does not carry over to non-deterministic distributed protocols.
- how much was read: most of it read
- notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md - record id:
assessing-postcondition-completeness-in-2026
- AutoSpec (protocol) (2026)
- title: Synthesizing Precise Protocol Specs from Natural Language for Effective Test Generation
- what: It extracts states, messages and constraints from RFCs into executable grammars. It tests Dovecot, Postfix, vsFTPd and Pigeonhole with Fandango, and repairs the grammars from traces. Experts wrote golden grammars to serve as the oracle (the reference answer).
- number: POP3 295 lines/3.5 h; SMTP 373/9.5 h; IMAP 676/14 h; FTP 576/5.5 h; ManageSieve 449/5 h (golden grammars)
- number: average recall 92.8% and 80.2% for client/server messages and independent constraints, 16.7% and 0.0% for dependent constraints (the notes list four values after âAverageâ)
- number: abstract average 81.5% message acceptance
- number: Message types recovered 92.8% (client), 80.2% (server)
- limits: It misses dependent constraints entirely. Repair guided by execution may end up matching a buggy server. FTP data channels are excluded. Counts in the tables are inconsistent. The tool release is only planned.
- how much was read: most of it read
- source; notes: Synthesizing Precise Protocol Specs from Natural Language for Effectiv; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md - record id:
autospec-protocol-2026
- Beyond Basic Specifications? A Systematic Study of Logical Constructs in LLM-based Specification Generation (2026)
- what: Compares LLM-generated ACSL annotations for 49 C programs, checked with Frama-C, under four settings of allowed constructs: basic, proved lemmas, axioms, and all. Failing annotations are fixed by deleting or modifying them.
- number: 49 programs, 5 runs each; stable = at least 2 of 5
- number: GPT-5 NVP/stable: deletion basic 32/28, full 40/39; modification basic 39/37, full 42/41
- number: Gemini modification verifiable NVP 48, stable 46
- number: modification raises runtime generally over 100%
- limits: The annotations come from the code, not from requirements. Axioms are assumed true and can make the proof unsound, and nothing audits them. NVP counts a program as solved if any run solved it, not pass@1 (success on the first try).
- how much was read: most of it read
- source; notes: Beyond Basic Specifications? A Systematic Study of Logical Constructs ; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md - record id:
beyond-basic-specifications-a-2026
- Can Code Specify a System Precisely Enough to Formally Verify It? (2026)
- what: Audits a deployed restaurant point-of-sale payment workflow (register, payment terminal, Finix backend). The authors built TLA+ models with Claude agents under their supervision. They also compared LLMs generating specifications from the TypeScript source in three forms: library-based JavaScript, a bare JavaScript next-function, and TLA+.
- number: pre-fix models have 43-103 states, check in under a second, counterexamples 6-9 steps
- number: 7 original gaps found, 3 reproduced on the unmodified code with its emulator
- number: final failure-enabled model has 376 distinct states; 24-hunk patch; passes all 23 scenario tests
- number: 105 generations (7 models x 3 contracts x 5), each replayed on 101 observed transition windows
- limits: Every checked property is a safety invariant (a fact true in every reachable state) on finite, simplified models, not on all executions of the TypeScript. Timeout liveness is not checked. The model and the emulator shared a wrong reading of how Finix responds to a duplicate key. There is no mechanical proof that code matches model. Crashes and power loss remain accepted risks.
- how much was read: most of it read
- source; notes: Can Code Specify a System Precisely Enough to Formally Verify It?; notes: Can Code Specify a System Precisely Enough to Formally Verify It?; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_gaps.md - record id:
can-code-specify-a-2026
- Can LLMs Write Correct TLA+ Specifications? Evaluating Natural-Language-to-TLA+ Generation (2026)
- what: It evaluates how well LLMs generate TLA+ from comments in community examples. It uses syntax checks and TLC model-checker runs on a corpus of 205 specifications.
- number: 143 training, 31 validation, 31 test specs; 26 eligible test specs used
- number: GPT-5 26/26 syntax and 7/26 TLC passes (26.9%)
- number: 8.6% aggregate open-model TLC success (56/650); DeepSeek r1:8b 14/26
- number: 2,600 open-model runs plus 130 proprietary runs
- limits: A passing TLC run only checks the configuration it was given. Zero scores include infrastructure failures. Each pair is run once per strategy. The notes find a contradiction inside the paperâs discussion of model size.
- how much was read: most of it read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md; notes: Natural language to temporal logic and TLA+; notes: Two further TLA+ evaluation papers already in collection - record id:
can-llms-write-correct-2026
- ClarifySTL (2026)
- title: ClarifySTL: An Interactive LLM Agent Framework for STL Transformation through Requirements Clarification
- what: Detects vague or ambiguous timed requirements written in plain language. Asks the person targeted questions. Then generates signal temporal logic (a formal language for timed properties).
- number: AmbiEval dataset 9,200 labeled instances
- number: ten participants with at least three years of STL experience
- number: Table 3: ClarifySTL DeepSTL formula score 67.12, semantic agreement 82.7; STL-DivEn 70.74 and 84.9
- number: +13.92% formula accuracy over the prior best on DeepSTL
- limits: Formula accuracy is measured by how many tokens match, not by exact equivalence. Tested only with experienced users. No safety proof for cyber-physical systems. No public artifact.
- how much was read: most of it read
- source; notes: ClarifySTL: An Interactive LLM Agent Framework for STL Transformation ; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md; notes: papers - record id:
clarifystl-2026
- CodeSpecBench (2026)
- title: CodeSpecBench: Benchmarking LLMs for Executable Behavioral Specification Generation
- what: CodeSpecBench is a benchmark where a model writes executable Python pre- and postconditions. The input is either a function description or a real repository issue. A harness checks that the conditions accept valid tests and reject invalid ones.
- number: 2,494 function tasks and 500 repository tasks from 12 projects
- number: 96.3% statement and 93.6% branch coverage
- number: 67.8 incorrect test cases per problem
- number: best strict pass: 47.0% (GPT-5-mini) on function tasks, 20.2% (Claude-4.5-Sonnet) on repository; Appendix table says 21.0
- limits: It uses finite tests only. Localization and tests are supplied. The repository figures are inconsistent across tables. The comparison of solution generation mixes in numbers from model reports.
- how much was read: most of it read
- source; notes: CodeSpecBench: Benchmarking LLMs for Executable Behavioral Specificati
- record id:
codespecbench-2026
- Collaborative and AI-Supported Requirements Elicitation: An Empirical Study (2026)
- what: Compares ways of gathering requirements. Stakeholder collaboration plus AI synthesis produced the requirements documents that were rated highest.
- limits: Ratings of documents do not show how strong a formal guarantee is, and do not replace validation with the affected users.
- how much was read: most of it read
- source; notes: Clarification and stakeholder requirements
- record id:
collaborative-and-ai-supported-2026
- Expecto (2026)
- title: Expecto: Extracting Formal Specifications from Natural Language Description for Trustworthy Oracles
- what: Builds specs top-down from informal programming requirements, in a Dafny-based language with recursive helper definitions. It can check examples before every helper is defined, and it yields executable oracles (programs that judge whether an output is correct).
- number: HumanEval+ 164 tasks; APPS 127 problems; Defects4J 501 methods from 336 bugs
- number: soundness threshold: reject over half of generated wrong output pairs (X=50), five shuffled alternatives per input
- limits: Soundness is shown by experiment against a threshold, not proved. Shuffled outputs may be accidentally correct. Cases where the solver timed out are excluded. Criteria differ across datasets. It is not a theorem that all wrong outputs are rejected.
- how much was read: most of it read
- source; notes: Generated contracts and independent evaluation; notes: Expecto
- record id:
expecto-2026
- FM-Agent (2026)
- title: FM-Agent: Scaling Formal Methods to Large Systems via LLM-Based Hoare-Style Reasoning
- what: An agent writes function contracts in natural language from callers, code and domain knowledge. It reasons about blocks and loops in Hoare style (what holds before and after each piece of code). It then generates and runs system-level tests to confirm suspected bugs.
- number: 277k source lines and 8,549 functions across four systems; 522 new bugs total
- number: Claudeâs C Compiler 339 bugs (143k lines), VibeTensor 141, VibeOS 23, Bespoke OLAP 19
- number: cost 2 days and 3.4 billion tokens total
- number: ablation on compiler: 57 bugs vs 339, removing two components at once
- limits: It handles sequential functions only. It cannot ensure soundness, and its reasoning is not machine-checked. The prose says 4,910 functions but the table says 4,957.
- how much was read: most of it read
- source; notes: FM-Agent: useful bug finding, without sound proofs; notes: FM-Agent: useful bug finding, without sound proofs; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_agents.md - record id:
fm-agent-2026
- Intent Formalization (2026)
- title: Intent Formalization: A Grand Challenge for Reliable Coding in the Age of AI Agents
- what: This research agenda argues that only the user can judge whether a spec is correct. It calls for support from tests, mutation, interaction and rich logic.
- number: TiCoder study with 15 professional developers: correct evaluation of AI code from 40% to 84%; cognitive load dropped (p = 0.007)
- limits: It is not a controlled benchmark.
- how much was read: most of it read
- source; notes: Intent formalization: why one number is insufficient; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/findings2_shortlist.md - record id:
intent-formalization-2026
- JS-SAM (2026)
- title: Executable JavaScript as a Checkable Specification Language: A JS-SAM Case Study on SysMoBench
- what: This controlled study compares LLMs writing JavaScript (SAM) specs against TLA+ specs of real systems. The authors check the specs by bounded exploration, plus replay against traces captured from the running systems.
- number: 4 models, 5 generations per cell
- number: Spin traces: 28 windows, 8 of 18 observable input combinations covered
- number: small tasks 40/40 complete passes; Raft scale 0/20 initially, 6/20 after one repair round
- number: state-changing conformance of original models ranges 0-86.4% though all pass syntax and invariants
- limits: It checks no liveness or temporal properties. It explores only to a bound. It does not prove that the implementation matches the model. The author designed the instrumentation, the reference model and the prompts.
- how much was read: most of it read
- source; notes: JS-SAM: a controlled case study separating specification shape from la; notes: JS-SAM: a controlled case study separating specification shape from la
- record id:
js-sam-2026
- Kiro (2026)
- title: Kiro specs (Analyze Requirements; Correctness with Property-Based Tests)
- what: Kiro works as a pipeline. An LLM refines requirements into EARS-style criteria and translates them to SMT-LIB. A solver checks consistency and completeness. For an ambiguity test (âsemantic entropyâ), it samples several formalizations and groups them by logical equivalence. Depending on how much they differ, it trusts one, discards them, or asks the user.
- limits: It is a product blog. It gives no accuracy numbers for Kiroâs own method.
- how much was read: most of it read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md; notes: Additional tools, not counted as papers - record id:
kiro-2026
- LeetProof (2026)
- title: Certified Program Synthesis with a Multi-modal Verifier
- what: LeetProof checks generated specifications against examples and reference implementations. It then synthesizes Velvet/Lean code, using SMT solvers to discharge proof goals automatically. A person finishes the remaining goals interactively.
- number: GPT-5.2 Velvet pipeline fully proves 28 of 50 tasks vs Lean-only 17
- number: 16 issues in VERINA (of 189 specs, 8.5%) and 18 in CLEVER (of 161, 11.2%) via property-based testing
- number: Verina issues took 9 minutes of property-based testing vs about 8 hours of LLM equivalence checking
- limits: It synthesizes algorithms with simple types. It has no distributed models and no liveness.
- how much was read: most of it read
- source; notes: Dafny, C verification, and the specification-intent gap; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md - record id:
leetproof-2026
- OSVBench (2026)
- title: OSVBench: Benchmarking LLMs on Specification Generation Tasks for Operating System Verification
- what: A benchmark in which an LLM writes a Python/Z3 specification of a syscall from a description. The spec is scored by whether it detects the same injected errors in code variants as the reference spec does. Declaration specs stay fixed.
- number: 245 tasks from 49 system calls, 5 variants each (1 correct, 4 with injected bugs)
- number: 12 LLMs; best pass@1 55.10% (Doubao-1.5-pro); five zero-shot models score zero
- number: five-example prompts use 20,000-30,000 tokens
- number: 245 tasks from 49 system calls (each: one correct and four vulnerable variants)
- limits: It covers functional and safety properties only, with no liveness. The LLM is given a description, assumptions and an abstract kernel model.
- how much was read: most of it read
- source; notes: OSVBench: executable specifications with a fixed external oracle; notes: OSVBench: executable specifications with a fixed external oracle; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md - record id:
osvbench-2026
- Proofs Promptly (2026)
- title: Proofs Promptly: An Experience Report on Proof-Oriented Programming with AI Agents
- what: The report uses Copilot CLI with Opus 4.5, with skills, subagents and a REPL. It writes Pulse/F* separation-logic proofs of concurrent locks and semaphores, the MSQuic receive buffer, and a port of the OCaml garbage collector.
- number: Table 1 p. 3: 1 week/583, 2 weeks/3,392 total (notesâ addition)
- number: Six-month manual estimate is the authorsâ estimate, not a controlled comparison
- number: manual proof-engineering cost estimated at roughly half a year
- number: three experts, two weeks, versus about half a year manually (authorsâ estimate)
- limits: Experts review the specs and supply the invariants that decide the proof. It has no theorem about distributed fairness or eventual progress.
- how much was read: most of it read
- source; notes: Proof-oriented programming at Microsoft; notes: papers; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_shortlist.md - record id:
proofs-promptly-2026
- Reality Is the Final Verifier: On Two Key Gaps in Agentic Software Engineering (2026)
- what: Argues that verification stops short in two places. The written requirements may not match what the stakeholder wants (the requirement gap). The model used to evaluate code may not match the real environment (the model gap). Proposes an inner loop, which revises code against the requirements, the environment model and the evaluator. Proposes an outer loop, which uses observations from deployment to revise those inputs.
- number: no new theorem, experiment, or implementation proof; Table 2 incidents are cited from other reports
- number: No measured completion rate or human-hours; Table 2 incidents are cited from other reports
- limits: A proposed architecture. No measured rate of autonomous completion and no human-hours result.
- how much was read: most of it read
- source; notes: Reality Is the Final Verifier: On Two Key Gaps in Agentic Software Eng; notes: Reality Is the Final Verifier: On Two Key Gaps in Agentic Software Eng; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_shortlist.md - record id:
reality-is-the-final-2026
- RFC2TLA+ (2026)
- title: RFC2TLA+: Extracting and Verifying Formal Models from RFC Documents using Continuous LLM Feedback
- what: An LLM agent with 22 tools extracts communicating state machines and invariants from an RFC and emits TLA+. It refines the result using TLC counterexamples, for up to three rounds.
- number: 14 real RFCs; all get a TLC-accepted model in best-of-three
- number: correct models pass 36/42 runs; injected faults found 69/84 (33/42 deadlocks, 36/42 invariant violations)
- number: synthetic RFCs 16/18
- number: avg 710 TLA+ lines (262-1,944); state F1 0.97, transition F1 0.61 vs 0.49/0.21 for RFC2PSM
- limits: It uses TLC models checked within bounds, not code. Deadlock detection is weaker than liveness checking. The agent may change invariants, so a passing run does not show fidelity. No wall time or manual effort is reported. The artifact record is restricted.
- how much was read: most of it read
- source; notes: RFC2TLA+: extract both a model and invariants from a supplied RFC; notes: RFC2TLA+: extract both a model and invariants from a supplied RFC
- record id:
rfc2tla-2026
- Seeking Specifications: The Case for Neuro-Symbolic Specification Synthesis (2026)
- what: DeepSeek-R1 generates ACSL function contracts for C code. Optionally it also uses PathCrawler tests or Frama-C EVA alarms. The researchers check whether the contracts recover the intent, rather than preserve a recognized bug.
- number: Table 1 bug recognition: Basic 47/60, Famous 9/30, Anonymized Basic 50/60, Anonymized Famous 14/30
- number: 50 programs, four variants, three generations each; 55 PathCrawler examples
- limits: The study is qualitative. It has no end-to-end correctness proof of the generated contracts. By default the contracts encode the code, not the inferred intent. Figures 6 and 7 print the same contract despite opposite captions.
- how much was read: most of it read
- source; notes: Seeking Specifications: The Case for Neuro-Symbolic Specification Synt
- record id:
seeking-specifications-the-case-2026
- SHADOWBENCH (2026)
- title: SHADOWBENCH: Toward Reliable Automatic Evaluation of Semantic Alignment in Autoformalization
- what: ShadowBench has 178 math problems. Humans repaired Lean âshadowâ statements, which let Lean check implication in both directions between a generated statement and the reference. This scores semantic alignment without a human reviewing each output.
- number: 178 problems, eight areas
- number: about 10 minutes of human construction per problem; 85% initial-draft coverage
- number: strongest configuration compilation/soft/full alignment 61.8 / 18.3 / 11.2
- number: agreement with experts 0.988, precision 1.000, recall 0.930
- limits: It covers mathematics, not software. Completeness depends on a trusted interpretation. Adapter failures give false negatives.
- how much was read: most of it read
- source; notes: SHADOWBENCH: Toward Reliable Automatic Evaluation of Semantic Alignmen
- record id:
shadowbench-2026
- Spec-Harness (formerly VeriAct) (2026)
- title: VeriAct / Spec-Harness: Beyond Verifiability â Agentic Synthesis of Correct and Complete Formal Specifications
- what: The paper adds agent repair around JML spec generation. It scores specs in a harness that the evaluator owns, using four fractions: valid outputs accepted, bad outputs rejected, valid inputs admitted, invalid inputs excluded.
- number: v2 uses thresholds such as PostCorr >= 0.75 and PostComp >= 0.75 (operational choice)
- number: 120 SpecGenBench methods and 662 FormalBench methods
- number: SpecGen falls from 54% verifier acceptance to 24% meaningfully verified on SpecGenBench (§5.4)
- number: three refinement cycles; improvement of 5 points on SpecGenBench and 12 on FormalBench (§6.1)
- limits: Success is relative to the generated cases and the reference. The task supplies existing code, so eliciting intent is not tested. Feedback on the scoring set can inflate scores. Use withheld tests.
- how much was read: most of it read
- source; notes: Generated contracts and independent evaluation; notes: Spec-Harness, formerly VeriAct; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md - record id:
spec-harness-formerly-veriact-2026
- Specy (2026)
- title: Specy: Automatically Learning Specifications for Distributed Systems from Event Traces
- what: It learns event-based formulas from traces of distributed systems (P models or logs). It builds monitors from them and checks fresh traces to reject guesses that are too strong. For six deductive-verification experiments, the learned formulas were translated by hand.
- number: all 43 goal specs recovered, 28 (65%) without help, 15 needed guidance
- number: 14 benchmarks incl. 3 industrial, 10,000 traces each
- number: about 9% of extra learned formulas fail on fresh traces, no designated goal formula does
- number: pruning speeds up by geometric mean 14.8
- limits: The only guarantee is consistency with the supplied traces. Hard properties need predicates, event choices or ghost state. The deductive results cover selected safety properties of P models. There is no refinement to production code.
- how much was read: most of it read
- source; notes: Specy: Learning Specifications for Distributed Systems from Event Trac; notes: Specy: Learning Specifications for Distributed Systems from Event Trac; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md - record id:
specy-2026
- Supporting Stakeholder Requirements Expression with LLM Revisions: An Empirical Evaluation (2026)
- what: Participants wrote requirements and rated LLM-generated revisions for completeness, clarity and alignment.
- number: 26 participants produced 130 requirement statements
- limits: Perceived completeness is not formal completeness. A fluent revision may change a requirement without anyone noticing.
- how much was read: most of it read
- source; notes: Clarification and stakeholder requirements
- record id:
supporting-stakeholder-requirements-expression-2026
- SysMoBench (2026)
- title: SysMoBench: Evaluating AI on Formally Modeling Complex Real-World Systems
- what: A benchmark of eleven concurrent and distributed systems. An AI writes a TLA+ model of each. The model is scored on syntax, execution, behavioral match to the code, and expected properties.
- number: source sizes from 175 lines (PGo dqueue) to 5,360 (ZooKeeper leader election)
- number: Etcd Raft with basic Sonnet agent: 7.69% conformance, 69.23% invariant correctness, 100% syntax
- number: liveness properties violated 41.9% vs safety 8.3% (§5, Figure 4c)
- number: each agent run five times, best output evaluated, at most three repairs
- limits: Covers only the finite executions and configurations supplied. A model can match buggy code and still fail the desired guarantee. The evaluator uses an LLM for some mappings.
- how much was read: most of it read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md; notes: SysMoBench - record id:
sysmobench-2026
- SysSpec / SpecFS (2026)
- title: Sharpen the Spec, Cut the Code: A Case for Generative File System with SysSpec
- what: Humans write structured specs for 45 modules, with pre/postconditions, invariants and locking. Agents generate C code, and an LLM reviews it. The result is SpecFS, an in-memory FUSE file system.
- number: about 4,300 C lines, 45 modules
- number: 754 xfstests, 64 fail from unsupported features
- number: Gemini-2.5-Pro and DeepSeek-V3.1 reach 100% module accuracy vs 81.8% best baseline
- number: extent support 4.5 vs 1.5 hours; directory rename 13 vs 2.4 hours (manual vs SysSpec)
- limits: The verification stage is an LLM, not a theorem prover. The evidence of correctness is tests and inspection. Crash consistency is out of scope. The timings cover specific tasks only.
- how much was read: most of it read
- source; notes: SysSpec / SpecFS: sharp human specifications, empirical code checking; notes: SysSpec / SpecFS: sharp human specifications, empirical code checking
- record id:
sysspec-specfs-2026
- TESTDAFNY110 (2026)
- title: Automatic Generation of Formal Specification and Verification Annotations Using LLMs and Test Oracles
- what: LLMs write Dafny contracts, invariants, assertions and lemmas from code, comments and test methods with expected results. They repair them using verifier errors. Dafny proves the result.
- number: 98.2% of problems within at most 8 attempts
- number: 106 of 110 (96.4%) logically equivalent to expert specs
- number: seven-student crossover study: 85.7% vs 42.1% success, 6.2 vs 11.1 minutes (the notes call these assisted/manual success and average task minutes)
- number: 98.2% on 110 Dafny programs within 8 repair iterations
- limits: Two number-theoretic tasks are unsolved. Four contracts differ from the expert ones until failing tests are added. It needs human tests that discriminate between right and wrong.
- how much was read: most of it read
- source; notes: Automatic Generation of Formal Specification and Verification Annotati; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md - record id:
testdafny110-2026
- TLA+-Bench (2026)
- title: TLA+-Bench: An Execution-Grounded Benchmark and Dataset for Natural-Language to TLA+ Specification Generation
- what: TLA-Bench has TLA+ specs, each with a model-checker config and English descriptions. A model reads the description and writes a spec. TLC (the TLA+ model checker) runs it against the reference config. A pass means the spec parses and no listed property is violated.
- number: 403 model-checked gold and 897 parse-only silver specs from 13 public repositories
- number: on one fixed set of 300 outputs the correct rate moves from 10.0% to 1.7% depending on grading choices; 18.7% to 1.7% if the model is told the configâs names
- number: best model is correct 16% of the time by default and 26% given the interface names; open models at most 1%; best model parses 87%
- number: 12 of 30 passes meet the non-vacuity bar, so the plain correct rate overstates capability about 2.5 times
- limits: The descriptions are written by a model, not by practitioners. Composition and refinement are under-represented. The paper makes no claim that controls for contamination. A pass is exact only relative to the reference config. It does not prove that the spec reproduces the reference behavior. The notesâ later pass says the benchmark creators wrote the descriptions and the grading oracle.
- how much was read: most of it read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md; notes: TLA+-Bench - record id:
tla-bench-2026
- TLA-Prover (2026)
- title: TLA-Prover: Verifiable TLA+ Specification Synthesis via Preference-Optimized Low-Rank Adaptation
- what: It trains gpt-oss-20b with a small adapter, first supervised and then learning from repairs of rejected specs. The model writes TLA+ specs, which TLC grades. The top Diamond tier adds sensitivity to a mutation of an invariant.
- number: 9/30 pass@1 (30%) greedy; 11/30 best-of-eight; 13/30 union
- number: TLC: usually three processes, 60-second budget
- number: baseline: 25 models on 26 specifications, 650 runs per cell, 8.6% (not matched)
- number: Across 25 LLMs the best public baseline is 26.6% syntactic parse and 8.6% semantic model-check
- limits: Success means a small model passes its own invariant. It does not mean agreement with a human requirement or a system. The text says six domains, but Table 3 lists ten. There is no refinement or liveness proof. The result was not reproduced.
- how much was read: most of it read
- source; notes: paper; notes: meaning for evaluation; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_agents.md - record id:
tla-prover-2026
- Toward Safe LLM Agents: A Survey of Specification, Verification, and Enforcement (2026)
- what: A survey of 38 studies on specifying, verifying and enforcing safety for LLM agents. It distinguishes model checking of an extracted model from runtime enforcement on actual actions.
- number: 38 studies from six databases
- number: headline 24% to 35% concerns PDDL planning formalization only
- number: 94% interception with under 5% safe completion comes from one study
- number: single reviewer
- limits: Focuses on safety. No new measurement. Certainty is mostly Low or Very Low. Its broad claims about limits should be audited.
- how much was read: most of it read
- source; notes: Toward Safe LLM Agents: A Survey of Specification, Verification, and E; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md - record id:
toward-safe-llm-agents-2026
- Traceable and Verifiable Software Requirements: A Synthesis of AI-Enabled Formal Methods (2026)
- what: A survey plus an experience report. The authors ran Frama-C (RTE, EVA, WP with several solvers) and PathCrawler on C functions to see what automation gives for requirements.
- number: tutorial experiment 36 programs; five-program subset goals proved 6/6, 5/7, 6/8, 4/8, 13/13
- number: triangle classification: 20 goals, Alt-Ergo/CVC5 prove 15, Z3/CVC4 prove 13
- number: fifty base programs (150 instances) vs Table 4 files 52+60+53=165
- number: PathCrawler succeeds on 4 of 20 files, then 15 of 20 after adaptation; quicksort: 11 cases from 110 paths, 99 infeasible
- limits: The accounting in Table 4 conflicts with the prose. The ResearchGate version is unreadable. An oracle was unavailable. No LLM starts from a vague request.
- how much was read: most of it read
- source; notes: AI-Enabled Formal Methods for Verifiable Software Requirements: A Surv
- record id:
traceable-and-verifiable-software-2026
- TraceFix (2026)
- title: TraceFix: Repairing Agent Coordination Protocols with TLA+ Counterexamples
- what: Claude Opus 4.6 turns a task description into a topology of agents, locks and channels. It writes PlusCal for each agent, runs TLC, and repairs from failures. The checked processes become runtime prompts.
- number: 48 of 48 tasks reach TLC verification; 30/48 pass first try; hard tasks 4/16 first try
- number: 29 repair attempts: 20 deadlocks, 5 timeouts, 3 syntax errors, 1 undrained channel
- number: Mean about 594 s and about 4.33 per task - number: 48 tasks, 16 scenario families, all fully TLC-verified; 62.5% first attempt; none over four repairs - limits: Progress is not checked. Repairs for timeouts can reduce fidelity. The runtime monitor checks the topology, not the order of steps. A bounded model-checking pass does not prove that real agents terminate. - how much was read: most of it read - source; notes: TraceFix: generated PlusCal coordination protocols, with important lim; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_model_to_code.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_shortlist.md` - record id: `tracefix-2026` - Validating Formal Specifications with LLM-generated Test Cases (2026) - what: GPT-5 generates positive and negative Alloy instances from English requirements, before the requirement is formalized. Expert formulas label the instances. The authors test whether the instances expose wrong student specifications. - number: Table 3: Few prompt, 258 tests, 255 syntax-valid, 252 previous-consistent, 247 valid (96%), 3.56
- number: Table 6: 35 requirements with complete suites, 4816 wrong specs, 348 missed, mean missed 6.43%
- number: 258 requested tests; few-shot GPT-5 247 valid (96%, 3.56); one-shot 205 (79%); zero-shot 118 (46%) - number: By model: GPT-5 96%, Gemini 81%, Claude 76%, Mini 67% - limits: It covers bounded structural models only. Suites are compared only over requirements that have complete valid suites. The persistent failures involve ambiguous English. - how much was read: most of it read - source; notes: Validating Formal Specifications with LLM-generated Test Cases; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `validating-formal-specifications-with-2026` - VeriSpecGen (2026) - title: Intent-aligned Formal Specification Synthesis via Traceable Refinement - what: It splits a description into requirements and ties tests and Lean clauses to each one. It repairs only the clauses implicated by a failed test. - number: 86.6% pass@1 on Verina's official harness - number: 25 refinement iterations, 60 generated tests per problem - number: 86.6% on the Verina SpecGen task with Claude Opus 4.5; up to 31.8 points over baselines - number: 343,827 training pairs; training gives 15.6-18.2 points - limits: Labels come from a reference implementation that may itself be LLM-written. The LLM judge fallback is only guidance. It has no distributed or liveness tasks. - how much was read: most of it read - source; notes: Generated contracts and independent evaluation; notes: Intent-aligned Formal Specification Synthesis via Traceable Refinement; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `verispecgen-2026` - Verus-SpecGym (2026) - title: Verus-SpecGym: An Agentic Environment for Evaluating Specification Autoformalization - what: It judges agent-written Verus specifications by running them against official and adversarial Codeforces tests. - number: 581 tasks; best Gemini-3.1-Pro 77.8%; LLM judges miss 26% of detected failures - number: 581 specification-writing tasks - number: an LLM judge misses 26% of failures the evaluator catches - number: 75-minute timeout per run - limits: The tasks are algorithms. Testing is evidence, not a proof of equivalence in general. - how much was read: most of it read - source; notes: Dafny, C verification, and the specification-intent gap; notes: Generated contracts and independent evaluation; notes: Verus-SpecGym / Verus-SpecBench - record id: `verus-specgym-2026` - ATLAS (2025) - title: Constrained LTL Specification Learning from Examples - what: ATLAS learns LTL formulas (formulas about behavior over time) from good and bad example traces. It also takes user constraints and priorities, and solves with MaxSAT, an optimizing solver. It uses no LLM. Cases: Peterson mutual exclusion, a voting machine, robot-arm repair, and weakening an invariant. - number: Table I: 30/30 tasks mean 43.65 s (Peterson); 10/10, 3.08 s (voting); 20/20, 37.25 s (robot arm); 53/78, 66.75 s (invariant weakening) - limits: It finds the best formula only within the formula-size bound. A formula that fits the traces may not capture what the user meant. The benchmarks were built around the authors' use cases. Using it needs formal-methods expertise. - how much was read: most of it read - source; notes: Constrained LTL Specification Learning from Examples (ATLAS) - record id: `atlas-2025` - BEq+ / ProofNetVerif (2025) - title: Reliable Evaluation and Benchmarks for Statement Autoformalization - what: BEq+ tries to prove both directions of implication between a generated Lean statement and a reference statement. ProofNetVerif and RLM25 are labeled benchmarks for whether a statement is correct. - number: ProofNetVerif: 3752 labeled pairs, 1142 correct; RLM25: 619 pairs from six projects - number: BEq+ precision/recall/F1 98.0/48.3/64.7; Pearson 0.974, Kendall 0.872 - number: 118 entries (31.8%) with formalization errors in Lean 4 ports - number: GPT-4o 50 samples: ProofNet# manual 45.1, BEq+ 23.4; RLM25 BEq+ 31.6 - limits: It covers mathematics only. The equivalence procedure is incomplete. People are needed for the references and the final labels. Results with no context are near zero. - how much was read: most of it read - source; notes: Reliable Evaluation and Benchmarks for Statement Autoformalization - record id: `beq-proofnetverif-2025` - CLEVER (2025) - title: CLEVER: A Curated Benchmark for Formally Verified Code Generation - what: CLEVER is a Lean benchmark. A model generates a spec, which must be proved equivalent to a hidden, human-written reference spec. The model then generates code, which must be proved against that reference. The reference specs are noncomputable so that models cannot copy code logic. - number: 161 problems (from 164 HumanEval; 3 excluded) - number: default budget 600 seconds for pass@k-seconds - number: human effort per problem: 25 minutes plus an additional 15 minutes, in places over an hour - number: reference proofs 10-225 lines - limits: It depends on the quality of the reference. Failed equivalence proofs give false negatives. HumanEval data may have leaked into training. It covers only list and numeric tasks, and has no liveness. - how much was read: most of it read - source; notes: Generated contracts and independent evaluation; notes: CLEVER; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md` - record id: `clever-2025` - CodeMetaAgent (2025) - title: LLM Assisted Coding with Metamorphic Specification Mutation Agent - what: CodeMetaAgent rewrites programming task descriptions with nine transformations: negation, translation, step decomposition, paraphrase, plus transformations of tests. It filters the rewrites with BERT similarity. It checks tests against an oracle implementation (a reference that gives the right answers). - number: HumanEval-Pro 164 and MBPP-Pro 378 problems - number: GPT-OSS MBPP-Pro pass@1 53 to 70 - number: oracle branch coverage 99.36 vs 99.81 - number: SWE-bench Lite: 69 bugs/23% baseline vs 90 bugs stated 30.3% (90/300 is 30.0%) - limits: It handles only prose specifications and finite tests. BERT similarity does not certify that quantifiers or negation are preserved. Several arithmetic figures are inconsistent (233/300 is 77.7%, not 78.6%). - how much was read: most of it read - source; notes: LLM Assisted Coding with Metamorphic Specification Mutation Agent - record id: `codemetaagent-2025` - Formal requirements engineering and large language models: A two-way roadmap (2025) - what: A vision paper on how LLMs can help create, explain and translate formal requirements. It has a worked example of a bounded sender/receiver protocol, modeled in PROMELA and checked with SPIN. - number: passing model: 77 states, 86 transitions, 128.730 MB; failing model 52 states - number: maximum of ten messages - limits: It checks safety within bounds only. Message loss and corruption are excluded by construction. There is no proof that the model matches the Python code. LLM translation is future work. The ChatGPT-3.5 examples were edited illustrations. - how much was read: most of it read - source; notes: Formal requirements engineering and large language models: A two-way r - record id: `formal-requirements-engineering-and-2025` - FormalAlign (2025) - title: FormalAlign: Automated Alignment Evaluation for Autoformalization - what: FormalAlign is a trained Mistral-7B. It scores whether a formal Lean statement matches its informal statement. It was trained on wrong statements made by automatic mutation. - number: 21 negative examples per positive - number: alignment-selection: FormL4-Basic 99.21, MiniF2F-Valid 66.39, MiniF2F-Test 64.61 (Tables 4-6 give 66.70, unresolved) - number: human 79.58% vs FormalAlign 65.00%; humans 3 hours for 80 items vs under 2 minutes - limits: The score is learned. It is not a proof of equivalence. Accuracy on mutated statements is not evidence of agreement with intent. The review notes read v1, not the final ICLR version. - how much was read: most of it read - source; notes: FormalAlign: Automated Alignment Evaluation for Autoformalization - record id: `formalalign-2025` - Formalising CXL Cache Coherence (2025) - what: An Isabelle model of the CXL.cache protocol, written from its English standard. It proves a single-writer/multiple-reader safety property, strengthening the invariants repeatedly. A tool called super_sketch drives Sledgehammer to generate proofs. - number: around 211k lines of code - number: 12 person-months - number: 796 invariant conjuncts, 68 rules, 53,332 lemmas (796x68=54,128 conflicts with it) - limits: The model has two devices and one location, with perfect tracking, and omits several messages. Data-value correctness, deadlock freedom and liveness are unproved. - how much was read: most of it read - source; notes: Related work absent from the first pass: Formalising CXL Cache Coheren - record id: `formalising-cxl-cache-coherence-2025` - GraFT (2025) - title: Grammar-Forced Translation of Natural Language to Temporal Logic using LLMs - what: It restricts the model's output tokens with a grammar. It separates identifying propositions from translating them into temporal form. - number: evaluates Navigation, GLTL and Cleanup World datasets with 1,000 examples each - limits: A correct grammar cannot find missing requirements. The evaluation has no score for equivalence or strength. - how much was read: most of it read - source; notes: Natural language to temporal logic and TLA+; notes: Temporal requirement translation: VLTL-Bench and GraFT - record id: `graft-2025` - Informal to Formal (2025) - title: From Informal to Formal â Incorporating and Evaluating LLMs on Natural Language Requirements to Verifiable Formal Proofs - what: It splits the path from English requirements to proofs into six tasks, across Coq, Lean, Dafny, ACSL and TLA+. It releases training data distilled with GPT-4o. - number: 18k high-quality instruction-response pairs - number: Pages 26984-27003 - number: about 18,000 instruction-response pairs from over 4,000 verified references; about 14,000 train and 4,000 evaluate - limits: It is a benchmark of separate tasks. It does not show that the models are faithful to real distributed implementations. - how much was read: most of it read - source; notes: TLAiBench and the Foundation challenge: useful harnesses, limited meas; notes: Natural language to temporal logic and TLA+; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md` - record id: `informal-to-formal-2025` - LLMs as Planning Formalizers: A Survey for Leveraging Large Language Models to Construct Automated Planning Models (2025) - what: The survey covers about 80 works in which LLMs generate planning domains and problems from natural language. - number: approximately 80 existing works - limits: The review notes found no 24.8/35.1 percent statistic. So the headline number in the Safe Agents survey is unsupported by this citation. - how much was read: most of it read - source; notes: LLMs as Planning Formalizers: A Survey for Leveraging Large Language M - record id: `llms-as-planning-formalizers-2025` - miniF2F-Lean Revisited: Reviewing Limitations and Charting a Path Forward (2025) - what: Re-checks the miniF2F Lean statements against the original competition questions and corrects them. Separates simplified tasks from tasks faithful to the competition. - number: 488 problems; over 300 Lean 4 statements corrected; 16 problems with no solution - number: Herald test accuracy automated judge 97.5% vs human 62.7% on v1 - number: Kimina+Goedel-V2-7B test 49.2 / 69.7 / 61.5 for v1/v2s/v2c; validation 54.9 / 70.1 / 62.3 - number: Pipeline about 36% (40% on the original) vs 97% and 69% for the two stages alone - limits: About mathematics, not software. Judging fidelity needs a human. - how much was read: most of it read - source; notes: miniF2F-Lean Revisited: Reviewing Limitations and Charting a Path Forw; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `minif2f-lean-revisited-reviewing-2025` - NL2Contract (2025) - title: Beyond Postconditions: Can Large Language Models infer Formal Contracts for Automatic Software Verification? - what: LLMs write executable preconditions and postconditions for Python from signatures and docstrings. CrossHair searches for violations. Mutation tests estimate how well the contracts tell correct from wrong code. - number: GPT-5 accept@1/5/10 and sound@1/5/10: 89.0 94.6 95.1 81.1 88.7 90.0 - number: real buggy cases: 14 of 31 found with each model - number: contract unsound only if CrossHair finds a violation in 60 s - limits: Its notion of soundness counts unknown results and timeouts as sound. It has no liveness. A code release is promised but no URL is given. - how much was read: most of it read - source; notes: Beyond Postconditions: Can Large Language Models infer Formal Contract; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `nl2contract-2025` - On the Effectiveness of Large Language Models in Writing Alloy Formulas (2025) - what: The paper tests LLMs on eleven familiar graph and relation requirements. The LLMs write Alloy formulas from English, write them from a reference, or complete partial formulas. Automated bounded equivalence checks grade the results. - number: both LLMs find at least one valid solution among twenty requested per property - number: each LLM completes all but 1 sketching task; both failures fixed with syntax feedback - number: default scope three - limits: The checks cover bounded equivalence only. Familiar small tasks are weak evidence for unfamiliar distributed-system guarantees. - how much was read: most of it read - source; notes: On the Effectiveness of Large Language Models in Writing Alloy Formula - record id: `on-the-effectiveness-of-2025` - ParCleanse (2025) - title: Validating Network Protocol Parsers with Traceable RFC Document Interpretation - what: GPT-4o extracts packet layouts and constraints from RFCs, with links back to the source text. Z3 generates valid packets and packets that break exactly one rule, and real parsers in C, Go and Python run them. An LLM diagnoses whether each failure is a spec error or an implementation error. - number: Table 2 precision/recall: Total 100/100 99/95 94/91 98/82 73/44 - number: Table 3: 69 unique, 68 new, 36 confirmed bugs - number: golden formats: Babel 171 lines/5 h; BGP-4 164 lines/6 h - limits: It recalls dependent rules poorly. Every discrepancy was checked by hand. It covers input-validation safety, with no liveness. - how much was read: most of it read - source; notes: Validating Network Protocol Parsers with Traceable RFC Document Interp - record id: `parcleanse-2025` - PAT-Agent (2025) - title: PAT-Agent: Autoformalization for Model Checking - what: Turns a natural-language system description, properties and expected outcomes (VALID or INVALID) into a CSP# model for the PAT model checker. Repairs the model from counterexamples for up to five rounds. - number: 40 tasks (26 PAT, 6 textbook, 8 Alloy4Fun), 133 assertions - number: 100% full-pass after repair; 75% before repair, 77.5% after one, 87.5% after two; direct models 37.5-52.5% - number: 4.34 minutes per system average - number: 20-person user study, separate - limits: Finite models only, not application code. No progress proofs at unbounded size and no refinement. Section VI says a repair pipeline gave negligible gain, which conflicts with the repair-loop results. - how much was read: most of it read - source; notes: PAT-Agent: users supply descriptions and the outcomes they want checke; notes: PAT-Agent: users supply descriptions and the outcomes they want checke - record id: `pat-agent-2025` - PSMBench (2025) - title: PSMBench: A Benchmark and Dataset for Evaluating LLMs Extraction of Protocol State Machines from RFC Specifications - what: A benchmark of 14 protocols with human-annotated state machines. It scores nine LLMs on extracting state machines from RFC text. - number: 14 protocols, 1,580 RFC pages, 108 states, 297 transitions - number: annotation about three days per protocol - number: best state F1 0.715 (DeepSeek-V3), transition F1 0.378 - number: 14 protocols, 1,580 RFC pages, 108 states, 297 transitions; annotation about three days per protocol - limits: It scores agreement with the annotations, not protocol safety. The annotations themselves need auditing, since RFC2TLA+ finds missing behaviors. Settings in the appendix give other scores. - how much was read: most of it read - source; notes: PSMBench / RFC2PSM: extraction accuracy, with human ground truth; notes: PSMBench / RFC2PSM: extraction accuracy, with human ground truth - record id: `psmbench-2025` - Req2LTL (2025) - title: Bridging Natural Language and Formal Specification â Automated Translation of Software Requirements to LTL via Hierarchical Semantics Decomposition Using LLMs - what: It separates decomposing the meaning in an intermediate language from building LTL formulas (formulas about behavior over time) by rules. - number: 88.4% semantic accuracy and 100% syntactic correctness - number: 112 aerospace requirements - limits: Its binary accuracy compares formula strings without normalizing or checking semantic equivalence, so it penalizes formulas that are equivalent. - how much was read: most of it read - source; notes: Natural language to temporal logic and TLA+; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `req2ltl-2025` - SpecGen (2025) - title: SpecGen: Automated Generation of Formal Program Specifications via Large Language Models - what: It generates JML annotations with an LLM. It then mutates candidate specs and selects among them using verifier feedback. - number: SpecGenBench: 120 Java tasks with expert references - number: blinded study: 15 Ph.D. students rated 15 programs - number: verifiable specifications for 279 out of 385 programs (SV-COMP Java tasks plus a manual 120-program set) - limits: Repair driven by the verifier can look like progress when an obligation is simply removed. Its verification rate is not comparable to equivalence rates. The human study covers only programs that were commonly solved. - how much was read: most of it read - source; notes: Generated contracts and independent evaluation; notes: SpecGen and StarVerus: human and model judges need an adequacy audit; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md` - record id: `specgen-2025` - SpecMAS (2025) - title: SpecMAS: A Multi-Agent System for Self-Verifying System Generation via Formal Model Checking - what: Agents turn a Standard Operating Procedure into a NuSMV model with CTL/LTL properties (statements about behavior over time). They revise both the model and the set of properties until model checking passes. The backbone is Qwen3-32B. - number: 10 example models (MiniSpecBench), 5 reported in detail - number: final compliance BRP 0.76+-0.08, autopilot 0.76+-0.01, mutual exclusion 0.77+-0.08, robot 0.69+-0.07, cache coherence 0.70+-0.05 (LLM-judge scores) - number: about 5-6 debugger iterations per case - number: MiniSpecBench: 10 models, 5 with detailed numbers - limits: Scores are weighted scores from an LLM judge. They do not show that requirements were proved. The SOPs were generated from expert examples. Properties can change, so the original intent may be lost. There is no link from model to code. Effort counts are not comparable to the baseline. - how much was read: most of it read - source; notes: SpecMAS: model and property repair must be distinguished; notes: SpecMAS: model and property repair must be distinguished - record id: `specmas-2025` - The Coming Need for Formal Specification (2025) - what: An opinion piece proposing a workflow. First an English spec. Then several TLA+ models at different levels of detail. Then a formal proof, for example in Rocq, of the components the system depends on most. Finally an LLM audits the rest against the TLA+ spec. - number: seL4: 8,700 lines of C, 20 person-years, 200,000 lines of Isabelle (quoting Kleppmann) - limits: Opinion only, with no evidence. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md` - record id: `the-coming-need-for-2025` - TLAiBench (2025) - title: tlaplus/TLAiBench - what: 9 puzzle descriptions (for example DieHard, DiningPhilosophers, TowerOfHanoi) and 6 gold specs. A script asks an LLM to translate each description, then runs the syntax check and TLC. - number: 9 puzzle descriptions - number: 6 gold specs - number: inspected commit of 6 Feb 2026: ten puzzle descriptions, six gold models - number: no distributed implementation tasks; dining philosophers has no gold model - limits: No results are reported. Checking against the gold spec by refinement is only stated as a grading idea, and is not run at scale. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md`; notes: Additional tools, not counted as papers; notes: TLAiBench - record id: `tlaibench-2025` - VerifyThisBench (2025) - title: VerifyThisBench: Generating Code, Specifications, and Proofs All at Once - what: Models generate code, spec and proof together for VerifyThis competition challenges. They use seven tools: Dafny, Why3, Frama-C, Verus, VeriFast, VerCors and TLA+. Each model gets five attempts with checker feedback. The XS variant removes parts of the verified submissions. - number: 41 challenges / 154 tasks; XS total 580 (226 code, 233 spec, 121 loop); 481 is stale - number: original human contest: 90 minutes per challenge - number: 41 challenges, 154 tasks, 580 sub-tasks - number: o3-mini under 4% zero-shot, 9.37% after five feedback rounds - limits: Alignment confidence is the model's self-assessment (the paper calls it an 'optimistic upper bound'). There is no independent exhaustive oracle for alignment. The notes did not establish that assume, admit or axiom is enforced. TLA+ gets no scoring for fairness or liveness. The human contest judges correctness, completeness, elegance and automation. - how much was read: most of it read - source; notes: VerifyThisBench / XS; notes: VerifyThis: human assessment supplies an intent layer; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `verifythisbench-2025` - VeriGuard (2025) - title: VeriGuard: Enhancing LLM Agent Safety via Verified Code Generation - what: Given a security request, an LLM writes a Python policy and its constraints, asks clarifying questions, and tests the policy. Nagini verifies the policy against the contract before the policy gates agent actions. - number: average ASB attack success 0.0 percent for each backbone; Gemini-2.5-Flash task success 63.3 vs 40.2 for direct LLM guardrail - number: EICU-AC accuracy 100.0 for three backbones; Mind2Web-SC below perfect - limits: It is not a proof that the policy is equivalent to the request. The user must validate the intent. LLM-based argument extraction can feed in wrong facts. When no one is present to answer, clarification picks plausible defaults. There is no public code. - how much was read: most of it read - source; notes: VeriGuard: Enhancing LLM Agent Safety via Verified Code Generation - record id: `veriguard-2025` - VeriStruct (2025) - title: VeriStruct: AI-assisted Automated Verification of Data-Structure Modules in Verus - what: OpenAI o1 plans the module's abstractions and type invariants, orders the method proofs, and repairs them in Verus. Claude Code with Sonnet 4.5 is also evaluated. - number: ten of the eleven modules; 128 out of 129 functions (99.2%) - number: Claude Code/Sonnet 4.5: eight modules, 102 functions - number: 11 modules and 129 counted functions; 10 modules and 128 functions verify - number: simple iterative baseline: 4 modules, 52 functions; Claude Code: 8 modules, 102 functions - limits: Eleven data structures do not establish ability on protocols or liveness. - how much was read: most of it read - source; notes: Repository retrieval and multi-function verification; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_agents.md` - record id: `veristruct-2025` - VLTL-Bench (2025) - title: Verifiable Natural Language to Linear Temporal Logic Translation: A Benchmark Dataset and Evaluation Suite - what: It scores four steps of translating natural language to LTL. The steps are finding propositions, translating temporal structure (judged by logical equivalence, not string match), grounding to executable predicates, and classifying satisfying and violating traces. - number: datasets: Kitchen Assistant 10,000, Search-and-rescue 7,304, Traffic-light 7,319, Warehouse 7,457 - number: built from 36 expert nl2spec templates - number: Table 2: four generated datasets of 10,000; 7,304; 7,319; 7,457 entries (32,080 total) reusing 43 templates - number: 36 expert-crafted lifted NL-LTL pairs plus 7 new ones - limits: Its equivalence check only flags a difference. It does not say whether one formula is weaker or stronger. Two traces cannot establish equivalence or liveness. It has no proof, no code, and no audit of how far to trust agents. The text says three datasets but the table lists four. - how much was read: most of it read - source; notes: Temporal requirement translation: VLTL-Bench and GraFT; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md`; notes: papers - record id: `vltl-bench-2025` - Clover (2024) - title: Clover: Closed-Loop Verifiable Code Generation - what: GPT-4 reconstructs code, contracts and English documentation from one another. Dafny and cross-checks then inspect whether they agree. - number: 52 of 60 correct examples accepted at ten attempts; tested adversarial examples rejected (Section 4) - limits: LLM reconstructions are correlated, so they can share a mistake. Agreement does not prove the English intent was encoded faithfully. - how much was read: most of it read - source; notes: Dafny, C verification, and the specification-intent gap; notes: Generated contracts and independent evaluation - record id: `clover-2024` - Evaluating LLM-driven User-Intent Formalization for Verification-Aware Languages (2024) - what: Scores LLM-written Dafny specs by checking concrete input/output pairs symbolically, including pairs with deliberately wrong outputs. In a set-intersection example, the contract says every result is in both inputs. It does not require every common element to appear. - number: applied to 64 of 153 MBPP-DFY specifications - limits: A failed verification usually means 'unknown', not 'refuted'. Rejecting bad pairs measures only the pairs chosen. It does not show the spec rejects bad outputs in general. - how much was read: most of it read - source; notes: Testing strength, mutations, and vacuity; notes: User-intent formalization in verification-aware languages - record id: `evaluating-llm-driven-user-2024` - IronSpec (2024) - title: IronSpec: Increasing the Reliability of Formal Specifications - what: Tests whether a Dafny specification matches what developers expect. It uses three methods: checks with unconstrained inputs and outputs, small proofs of cases that should or should not be allowed, and mutations of the specification. - number: 14 specifications including six real verified systems; ten spec bugs confirmed by authors - number: 70 small test proofs, 21 needed help averaging 1.7 added lines - number: 61 surviving mutations, 13 judged intended - number: human effort hours to days; DaisyNFS about one to two hours - limits: The checks expose suspicious differences. They do not show the spec perfectly matches intent. It gives no success rate for autonomous spec generation. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_foundations.md`; notes: Specification errors and auditing; notes: IronSpec - record id: `ironspec-2024` - MoSt (2024) - title: Modeling and Verification of Natural Language Requirements based on States and Modes - what: Engineers write requirements in a controlled language that names states, modes and transitions. A tool generates NuSMV models and automatically checks that each state is reachable. It reports results at the requirement IDs. - number: car: 5 states, 2 modes, 37 requirements, 88 NuSMV lines - number: washing machine: 15 states, 5 modes, 64 requirements, 213 NuSMV lines - number: 14 injected errors all detected - number: check times 0.003/0.042/0.032 s (car) and 0.005/13.371/13.467 s (washer) - limits: Humans must first identify the states, modes and properties. Extracting them from free prose is future work. It has two authored examples only. It has no code proof. - how much was read: most of it read - source; notes: MoSt: humans structure requirements before automatic model checking; notes: MoSt: humans structure requirements before automatic model checking - record id: `most-2024` - nl2postcond (2024) - title: Can Large Language Models Transform Natural Language Intent into Formal Method Postconditions? - what: Has LLMs generate executable postconditions from plain descriptions. Measures both correctness and whether they reject known buggy implementations (bug-completeness). - number: catches 64 real-world historical bugs from Defects4J - limits: Rejecting those bugs does not fully describe which outputs are acceptable. Reference programs and tests remain part of the oracle. Correctness is only with respect to the provided tests. - how much was read: most of it read - source; notes: Testing strength, mutations, and vacuity; notes: Natural-language postconditions and known faulty implementations - record id: `nl2postcond-2024` - TiCoder (2024) - title: LLM-Based Test-Driven Interactive Code Generation: User Study and Empirical Evaluation - what: Asks the user whether concrete tests are right, and uses the answers to refine and rank generated programs. - number: user study with 15 programmers - limits: The larger benchmark uses an idealized stand-in for user feedback. Answers taken from a gold solution say little about real stakeholder clarification. - how much was read: most of it read - source; notes: Clarification and stakeholder requirements - record id: `ticoder-2024` - Lang2LTL (2023) - title: Grounding Complex Natural Language Commands for Temporal Tasks in Unseen Environments - what: It separates referring expressions and landmarks from the temporal formula, then reconnects them to the environment. Experiments are on robot navigation. - limits: Success at navigation does not show that software contracts in general are complete. - how much was read: most of it read - source; notes: Natural language to temporal logic and TLA+ - record id: `lang2ltl-2023` - nl2spec (2023) - title: nl2spec: Interactively Translating Unstructured Natural Language to Temporal Logics with Large Language Models - what: nl2spec uses an LLM to map pieces of English to pieces of a temporal formula. Users can edit the mappings and regenerate. It reports confidence as how much the votes agree. - number: 36 expert-written requirements; Codex 16/36 initially, Bloom 5/36 - number: interactive correction fixed 15 of 20 failures within three loops, Codex 31/36 - number: four sampled examples raised initial Codex to 21/36, but they stayed in the set - number: 36 benchmark instances - limits: An expert assists it. It is not autonomous. Correctness means what the submitting expert meant. The confidence is not a calibrated probability. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md`; notes: Natural language to temporal logic and TLA+; notes: papers - record id: `nl2spec-2023` - FRET realizability (2022) - title: Realizability Checking of Requirements in FRET - what: It checks whether requirements can be implemented, using Lustre and JKind/Kind2. It finds minimal unimplementable sets of requirements with delta debugging, and shows counterexample traces of the environment. - number: aircraft study: 11 requirements; removing the hover-initialization requirement made a conflicting requirement realizable - number: infusion pump: 12 requirements rewritten to 26 scoped ones, 8 minimal unrealizable cores - limits: This is a technical report, not the CAV 2022 version. Results depend on which variables the environment controls. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md` - record id: `fret-realizability-2022` - RFCNLP (2022) - title: Automated Attack Synthesis by Extracting Finite State Machines from Protocol Specification Documents - what: Extracts partial protocol state machines from RFCs with BERT/CRF. Translates them to Promela. Uses KORG/SPIN to synthesize attacks on safety and progress properties, checked against a canonical model. - number: six protocols extracted - number: TCP: 17 of 20 transitions correct or partly correct - number: automated TCP models find attacks on 1 property, canonical model on all 4 - number: Six protocols extracted; TCP: 17 of 20 transitions correct or partly correct - limits: The attacks work against models, not deployed code. Experts write the canonical models and four LTL properties each. A progress property can pass vacuously (hold trivially, because the condition that should trigger it never occurs). - how much was read: most of it read - source; notes: RFCNLP: learned extraction followed by model-level attack synthesis; notes: RFCNLP: learned extraction followed by model-level attack synthesis - record id: `rfcnlp-2022` - FRET (2020) - title: Formal Requirements Elicitation with FRET - what: FRET lets users write requirements in a restricted English called FRETish. Each requirement has scope, condition, component, timing and response fields. FRET turns them into temporal formulas, explanations and diagrams. It also has a simulator for trying out signals. - number: industrial autopilot case; no large quantified benchmark - limits: The translation is checked against the language's own semantics, not against what the customer meant. Mapping variables to the model is a separate source of error. New users need help with subtle points of meaning. - how much was read: most of it read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md` - record id: `fret-2020` - Maximal Specification Synthesis (2016) - what: Given an incomplete program and a desired postcondition, this work derives the most permissive assumptions about unknown callees that still prove the client's property. It solves by trying candidates and refining them from counterexamples. - number: six Windows-driver variants; 6-7 procedures; 1 to 184 seconds for initialization constraints - limits: It covers the safety of an imperative model. It does not prove that real libraries meet the assumptions. It is not an LLM system. Drivers abstract the heap. - how much was read: most of it read - source; notes: Maximal Specification Synthesis - record id: `maximal-specification-synthesis-2016` - PROPEL (2002) - title: PROPEL: An Approach Supporting Property Elucidation - what: Presents property patterns both as disciplined natural language and as finite-state automata. It shows the person writing the property the alternative meanings (repeats, response, scope boundaries). - limits: The notes read the author's technical report, not the typeset proceedings. - how much was read: most of it read - source; notes: Requirements methods predating LLMs - record id: `propel-2002` - Goal-Oriented Requirements Engineering: A Guided Tour (2001) - what: The paper breaks goals into smaller obligations assigned to software or environment actors. Obstacles and conflicts help find missing requirements. A spec is complete with respect to a set of goals when the goals follow from the spec plus domain properties. - how much was read: most of it read - source; notes: Requirements methods predating LLMs - record id: `goal-oriented-requirements-engineering-2001` - Property Specification Patterns (1998) - title: Property Specification Patterns for Finite-State Verification - what: The paper gives reusable patterns and scopes for properties, such as absence, response and precedence. It maps them to formal languages. - limits: A pattern cannot tell the agent which guarantee the human left out. Users must still know enough to express the requirement. - how much was read: most of it read - source; notes: Requirements methods predating LLMs; notes: papers - record id: `property-specification-patterns-1998` - Four Dark Corners of Requirements Engineering (1997) - what: The paper separates three things: facts about the environment that are wanted, facts about it that are assumed, and behavior the machine can enforce at its interface. The spec plus domain knowledge must imply the requirements. - how much was read: most of it read - source; notes: Requirements methods predating LLMs - record id: `four-dark-corners-of-1997` - Beyond Compilation (2026) - what: A study of turning math into Lean statements automatically. It shows that Lean accepting a statement does not mean the statement says what the user meant. - number: Tool-augmented GPT-5.2 agent compiles 87.2% of statements but is faithful on 57.7% (29.5 point gap) - limits: About mathematics, not systems. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `beyond-compilation-2026` - ClarifyCodeBench (2026) - what: Measures how well code models ask for clarification of requirements, using the metrics TKQR and ORA. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `clarifycodebench-2026` - COINS (2026) - title: How Powerful Are LLMs in Generating Formal Program Specifications? (COINS) - what: It instantiates a spec on trusted tests to produce concrete proof obligations in Rocq. These serve as an oracle (a reference check) for whether the spec is correct. - number: All 164 HumanEval ground-truth specs hand-written over several person-weeks - number: Top 28.05% (Gemini 3 Pro Preview) down to 1.22% (DeepSeek-V3.1) - number: 164 HumanEval problems - limits: Failing to find a proof that a test is accepted is weaker evidence than proving that it is rejected. The LLM judge can skip the formal proof. It does not cover distributed liveness. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md`; notes: How Powerful Are LLMs in Generating Formal Program Specifications? - record id: `coins-2026` - LeetProof (2026) - title: LeetProof: Certified Program Synthesis with a Multi-modal Verifier - what: LeetProof synthesizes programs together with proofs that they are correct. The notes audit how it checks its specs. The checks are generated examples, an LLM judge, randomized checks of preconditions and postconditions, mutations that produce incorrect outputs, a Lean proof of equivalence to VERINA, and manual judgment. - limits: The earlier note found that development and evaluation statistics were pooled. It also found that unresolved specs were classified without blinding, and that the synthesis subjects had no independent labels. - how much was read: parts read - source; notes: LeetProof: examples and equivalence provide complementary intent evide - record id: `leetproof-2026-2` - LiveFMBench (2026) - title: LiveFMBench: Unveiling the Power and Limits of Agentic Workflows in Specification Generation - what: 630 C programs annotated with ACSL (360 collected in 2025 to avoid training leaks), verified with Frama-C/WP. Models generate loop invariants and assertions. A faithfulness check requires that the ASTs are equal and that every original assertion appears in the output. - number: true accuracy drops about 20% after excluding unfaithful cases - number: pass@5 doubles pass@1; pass@32 triples it - number: incorrect loop invariants are the dominant error type - number: After removing unfaithful behaviors true accuracy drops about 20% - limits: One notes file says the full claims await deeper reading. Another read the faithfulness section. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_shortlist.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_scholar.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md` - record id: `livefmbench-2026` - SpecSyn (2026) - title: SpecSyn: LLM-based Synthesis and Refinement of Formal Specifications for Real-world Program Verification - what: SpecSyn checks how strong a spec is by using mutants that are not semantically equivalent to the original. - number: precision above 90%, recall above 75% on target properties - limits: The properties come from the program. They do not come from unconstrained intent. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_b/agent_evaluation_procedure.md` - record id: `specsyn-2026` - SWE-Proof (2026) - title: SWE-Proof / BenchProofer - what: Takes SWE-bench Verified issues, given as natural language plus a repository, with Nagini, Velvet and Lean backends. Three adversarial LLM auditors check the specs that agents write. It is the only benchmark the review notes found that starts from a vague task in a real repository. - number: 500 instances - number: A correct formal spec lifts resolution from 85% to 95%; only 56% of agent-written specs pass the audit - number: Specs from unresolved instances fail audit 92% of the time vs 51% for resolved - number: 26.8% of test-passing patches overturned by the audit; Lean faithfulness failure 37.2% - how much was read: parts read - notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md` - record id: `swe-proof-2026` - Towards an Agentic LLM-based Approach to Requirement Formalization from Unstructured Specifications (2026) - what: LLM roles extract requirements. A judge filters out those the target formalism cannot express. The pipeline then translates the rest to UPPAAL SMC queries and checks syntax. The domain is human-robot interaction. - number: extraction: 81.8% exact-or-partial semantic matches (exact 43.6%, partial 38.2%); recall 60.6% - number: verifiability classification: accuracy 88.7%, recall 94.2% - number: translation: 95.8% syntactically correct, 77.8% effective semantic accuracy - number: reported as 77.8% across three scenarios - limits: An LLM judged whether the meaning matched. It has no distributed systems and no liveness. Accuracy is specific to the scenario. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_b/agent_evaluation_procedure.md` - record id: `towards-an-agentic-llm-2026` - Veil blog (Sergey) (2026) - title: Verifying Distributed Protocols in Veil - what: Reports Claude Code finding agreement and validity invariants for FloodSet, using feedback from the checker. The faulty model lumped all crashes together with the broadcast and left out partial delivery, which made agreement hold trivially. - limits: A case study by a single author, not a comparative score. - how much was read: parts read - source; notes: papers inspected; notes: Veil: proofs in Lean with automatic first-order checks - record id: `veil-blog-sergey-2026` - FormalBench (2025) - title: Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference - what: FormalBench measures how well models generate JML specs. It includes a flip rate: how often the result changes when the program is rewritten in a way that keeps its meaning. - number: About 10% verification success on JML spec generation - number: 700 Java reference programs, 6,219 transformed variants - limits: The program rewrites do not measure contamination from pretraining. Deriving the intent from existing code can preserve a defect in that code. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md`; notes: FormalBench and SpecEval: mutation strength and surface robustness - record id: `formalbench-2025` - Beyond Code Generation: Assessing Code LLM Maturity with Postconditions (2024) - what: It extends the EvalPlus benchmark with several kinds of postcondition (what must hold after a function runs): boundary, equality, container, Boolean and string. It checks that the assertions are correct and which buggy programs they catch. - limits: It evaluates algorithms with a finite set of tests. It does not cover proofs or progress in distributed systems. - how much was read: parts read - source; notes: Natural-language postconditions and known faulty implementations - record id: `beyond-code-generation-assessing-2024` - ClarifyGPT (2024) - title: ClarifyGPT: A Framework for Enhancing LLM-Based Code Generation via Requirements Clarification - what: It notices when candidate programs disagree on generated tests. It then asks the user targeted clarifying questions to sharpen the requirement. - limits: Agreement among candidates cannot show that a description has only one meaning, because the models may share an assumption. The final and earlier preprint versions have different evaluations. - how much was read: parts read - source; notes: Clarification and stakeholder requirements - record id: `clarifygpt-2024` - Misconceptions in Finite-Trace and Infinite-Trace Linear Temporal Logic (2024) - what: The study examines how people read and write linear temporal logic, across five deployments. - number: Writing a formula wrong: 21.11-25.00% (alpha), 33.68% (LTL-aware audience), 66.13% and 63.33% (student course) - number: Trace matching wrong: 1.85% to 27.24% - limits: The notes are unsure about the authors after the first. Percentages across different instruments cannot be compared. - how much was read: parts read - notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `misconceptions-in-finite-trace-2024` - Towards a Notion of Unsatisfiable and Unrealizable Cores for LTL (2012) - what: The paper defines cores. A core isolates the part of a requirement set that is unsatisfiable or unrealizable (no implementation could meet it). The paper defines cores at several granularities, from whole requirements to proof structures. It also discusses vacuity (a requirement that passes for no real reason). - number: lift example: 6 of 49 conjuncts isolate an inconsistency (§8.1) - limits: A core explains a failure, but not necessarily every failure. It does not tell which restrictions on the environment the customer intended. The normal-form proofs were not checked. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md` - record id: `towards-a-notion-of-2012` - Property Specification Patterns (1999) - title: Patterns in Property Specifications for Finite-state Verification - what: This is a catalog of reusable requirement patterns, about what occurs and in what order. It also lists scopes: global, before, after, between, and after-until. Each pattern is mapped to formal languages for describing behavior over time. The authors also surveyed real specifications. - limits: The notes read the authors' pattern repository, not the ICSE PDF. The repository labels a formula about all branching futures (AG/AF) as LTL. - how much was read: parts read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings_intent.md` - record id: `property-specification-patterns-1999` - quint-llm-kit - what: Supplies workflows for agents that write specs and code. The Quint LLM-era post links spec generation, implementation generation and feedback from models. - limits: No theorem was found that the generated Rust refines Quint (matches it as an abstract model). - how much was read: parts read - source; notes: R06. Quint Connect, Choreo, and LLM-driven implementation; notes: Quint: production case studies, not a measured proof benchmark - record id: `quint-llm-kit` - Ambig-SWE (2026) - title: Interactive Agents to Overcome Underspecificity in Software Engineering - what: Measures the clarifying-question step for coding agents with an LLM-simulated user holding the missing facts. - number: Interactivity boosts performance up to 74% - number: Claude Sonnet 4 recovers 89% of full-information performance with interaction - limits: It covers coding, not specs. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `ambig-swe-2026` - Automated Trace Link Recovery Between Natural Language Requirements and Formal Specifications via LLMs (2026) - what: LLMs link each item in a structured English requirements document to the matching part of an existing formal specification. The paper compared GPT-4o, Gemini 3.1 Pro and DeepSeek V3 with retrieval baselines on four projects, including an ATM and the avionics system Sun Search. - number: four projects - limits: The review notes read only the abstract, which is behind a subscription. It gives no precision, recall or timings. The links help an audit but do not show the two texts mean the same thing. - how much was read: only abstract or first pages read - source; notes: Automated Trace Link Recovery Between Natural Language Requirements an - record id: `automated-trace-link-recovery-2026` - Beyond Type-checking: Towards Holistic Evaluation of Formal Specification Generation (2026) - what: The paper evaluates Lean specs written by LLMs, using more than type-checking. It measures whether the spec is well-formed, whether it is similar or equivalent to a reference spec, and whether it describes the intended behavior. - number: 350 Lean tasks (189 VERINA, 161 CLEVER) - number: LeanAide returns only 135 of 161 candidates on CLEVER, though every returned one typechecks - limits: The notes did not record the authors. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md` - record id: `beyond-type-checking-towards-2026` - claimcheck (2026) - title: claimcheck: Narrowing the Gap between Proof and Intent - what: One model describes a Dafny lemma in English without seeing the requirement. A second model compares that description to the requirement and labels the pair confirmed or disputed. - number: Own benchmark: 36 pairs, 5 domains, 8 bogus lemmas; two-pass 96.3%, single prompt 86.1%, Claude Code default 69.4% - number: 36 requirement/lemma pairs, 8 deliberately bad, 3 runs: 108 comparisons - number: 96.3% accuracy across 108 comparisons; other modes 86.1% and 69.4% - number: About 108 s per run vs 353 s single prompt, 693 s via Claude Code prompt - limits: It is small and self-made. The post calls it a probabilistic sanity check. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md`; notes: claimcheck: check whether the proven claim is what the user asked for - record id: `claimcheck-2026` - Comet-H (2026) - title: Theory Under Construction: Orchestrating Language Models for Research Software Where the Specification Evolves - what: It proposes a prompt automaton that repeatedly grounds code, benchmarks and papers in each other. The goal is to counter the buildup of hallucinations and the drift between code and theory when a spec keeps changing. - limits: It addresses spec drift. It does not address refinement or liveness. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_leads.md` - record id: `comet-h-2026` - Faithful Autoformalization via Roundtrip Verification and Repair (2026) - what: Formalize a sentence, translate the formula back to English, formalize that again, then use an SMT solver to check that the two formulas are equivalent. If they differ, repair the stage that diverged. - number: Rules failing the check show 1.4x-2.5x more natural language inference drift - number: 150 Texas Transportation Code rules and 77 Parks and Wildlife rules; Claude Opus 4.6 and GPT-5.2 - limits: It uses first-order logic on legal rules. A second signal, natural-language inference, judged the results, not people. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `faithful-autoformalization-via-roundtrip-2026` - Fidelity Probes (2026) - title: Fidelity Probes for Specification-Code Alignment - what: Probes pair behavioral questions with reference answers derived from the code. An LLM answers from the spec alone. Its answers are compared with the code's answers, and the requirements are revised. - number: CardDemo held-out fidelity rises from 0.59 to 0.89 - limits: Repairs can cause regressions. It measures agreement with the behavior of existing code. It is not a proof, and it does not cover liveness over time. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_leads.md`; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md` - record id: `fidelity-probes-2026` - Isolde (2026) - what: Isolde is a SAT tool, with no LLM. It produces examples that one isolation level allows and another does not. It also checks whether two definitions are equal. - limits: The notes have only a summary. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `isolde-2026` - Monty (2026) - title: Faithful Autoformalization of Natural Language Assertions - what: Monty keeps formalizations whose clause-by-clause back-translation scores above a threshold. It tests them against code. Then it asks the user to pick among the candidates. - number: Precision from 75% to 91.6% on one dataset and 64% to 85% on another - number: 541 tasks from 22 Java classes - limits: The experiments use a simulated user who holds the ground truth. A round trip through translation is not always a reliable stand-in for correctness. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md` - record id: `monty-2026` - Spec-Agent (2026) - title: Agentic Separation Logic Specification Synthesis - what: Synthesizes specs for open-source C++. It picks a spec language from a ladder, from propositional logic up to first-order separation logic. It turns tests into fuzz harnesses. It refines the specs using counterexample feedback. - number: valid specifications for 85% of target functions - limits: Produces specs, not proofs. A spec counts as 'valid' based on fuzzing and expert review. Abstract only. - how much was read: only abstract or first pages read - source; notes outside this site: `/ssd1/sichangheagent/verus_distributed/lit_a/findings2_leads.md` - record id: `spec-agent-2026` - SPECA (2026) - title: Beyond Code Reasoning: Specification-Anchored Auditing of Multi-Implementation Distributed Protocols - what: SPECA has an LLM read protocol specs (Ethereum consensus) and write categorized properties. It then audits each client against them. These are not proofs. - number: 15/15 in-scope Fusaka vulnerabilities with expert augmentation, 8/15 automated - number: About 30 per high/medium/low bug
- limits: The authors say the quality of the generated properties is the main limit.
- how much was read: only abstract or first pages read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_intent.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md; notes: specification-anchored auditing - record id:
speca-2026
- Specifications for Humans, Agents, and Tooling (2026)
- what: Describes the Bosque API ecosystem for agent-driven development. It has polyglot specs, test generation, validation and sandboxing. Specs are shared artifacts for people, agents and tools.
- limits: A position on tooling. No refinement theorem and no evaluation on a distributed protocol. Not evidence that intent can be recovered automatically.
- how much was read: only abstract or first pages read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_leads.md; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md - record id:
specifications-for-humans-agents-2026
- SpecLoop (2026)
- title: SpecLoop: An Agentic RTL-to-Specification Framework with Formal Verification Feedback Loop
- what: Candidate specs are used to rebuild the RTL (hardware design code). Formal equivalence checking feeds counterexamples back to refine the spec. It improves over baselines that use only an LLM.
- limits: Results depend on the RTL reconstructor and the equivalence checker. Bounded resource limits can block feedback. It reverse-engineers a spec from a design, and does not recover an unconstrained request.
- how much was read: only abstract or first pages read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md; notes: SpecLoop; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_b/agent_evaluation_procedure.md - record id:
specloop-2026
- FLAG (2025)
- title: FLAG: Formal and LLM-assisted SVA Generation for Formal Specifications of On-Chip Communication Protocols
- what: It takes unstructured protocol documents to checked properties. It generates candidate properties from a grammar, filters them with timing diagrams and checks them formally.
- limits: It covers a constrained domain: hardware protocols.
- how much was read: only abstract or first pages read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/verified_primary_notes_20261012.md; notes: FLAG; notes outside this site:/ssd1/sichangheagent/verus_distributed/lit_b/agent_evaluation_procedure.md - record id:
flag-2025
- Specifications: The Missing Link to Making the Development of LLM Systems an Engineering Discipline (2024)
- what: This position paper argues that explicit specifications are the missing engineering layer for LLM systems.
- limits: The pages the review notes inspected show no formal verification artifact or proof result.
- how much was read: only abstract or first pages read
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_leads.md - record id:
specifications-the-missing-link-2024
- Galois 5STARS (2026)
- title: Using AI to Autoformalize Network Security Properties into 5STARS
- what: It wraps a network-security verifier in MCP. Agents then specialize English security requirements (NIST SP 800-53, MITRE ATT&CK) to a particular network and formalize them. A state machine outside the agentâs workspace controls the phases.
- limits: Results are inconsistent. No model version, denominator or rate is given.
- how much was read: reading depth not recorded
- source; notes: Galois 5STARS: the harness must govern specification construction
- record id:
galois-5stars-2026
- lemmafit (2026)
- title: Introducing lemmafit: A Verifier in the AI Loop
- what: From an ordinary request, Claude Code writes structured requirements, Dafny state and action code, and lemmas. A file watcher runs Dafny. The verified logic is compiled into a TypeScript API that React uses.
- limits: It covers logic without side effects, in new React/TypeScript apps. The human must review the English spec. The agent model and success rate are not reported. It has no result on autonomous distributed protocols or liveness.
- how much was read: reading depth not recorded
- source; notes: lemmafit: Claude Code writes the specification, implementation, and pr
- record id:
lemmafit-2026
- Malachite Quint post (2025)
- title: Reliable Software in the LLM Era
- what: A protocol refactor of Fast Tendermint (Malachite). AI updates the Quint spec. Humans check the reachable behaviors and properties. AI changes the code and writes glue for model-based tests.
- number: About 2 days for spec modification and validation, about one week for code and testing
- number: Spec validation found two small bugs in the English spec in one afternoon
- limits: An agent-assisted refactor. The agent did not invent the protocol, and there is no unbounded proof. No measured success rate.
- how much was read: reading depth not recorded
- source; notes: Quint: production case studies, not a measured proof benchmark
- record id:
malachite-quint-post-2025
- TLAi+ Challenge (2025)
- title: 2025 TLAi+ Challenge
- what: Challenge winners. First prize: Cheng, Xu, Huang (early Specula workflow). Second: Andrew Helwer (constrained TLA+ token generation with LlamaCpp/GBNF and Guidance). Third: Gregory Terzian (staged refinement from TLA+ toward multithreaded Rust).
- limits: The challenge solicited TLAPS work, but that is not evidence that any submission finished one. Grammar constraints give correct syntax, not faithful meaning.
- how much was read: reading depth not recorded
- source; notes: TLAiBench and the Foundation challenge: useful harnesses, limited meas
- record id:
tlai-challenge-2025
- APG (2026)
- title: Generating Protocol Code from RFC Specifications
- what: It generates C/C++ protocol code from RFCs for ICMP, IGMP, NTP and TCP, and judges the code by testing.
- number: 95% compile success and behavioral correctness for stateless protocols like ICMP
- number: 90% interoperability for complex stateful protocols such as TCP
- limits: It has no formal spec. The notesâ author only skimmed it.
- how much was read: not read; title and metadata only
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md - record id:
apg-2026
- HumanEvalComm (2024)
- what: A benchmark with communication metrics that measure whether models ask clarifying questions.
- limits: The review notes saw it only as a search snippet.
- how much was read: not read; title and metadata only
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_eval.md - record id:
humanevalcomm-2024
- An Experiment in Formal Verification with Claude
- what: Claude Opus 4.6/4.7 wrote the Lean 4 statements and most of the proofs for the soundness and zero-knowledge theorems of Succinctâs VEIL compiler. A CLAUDE.md file with simple rules guided it. Humans revised the statements and checked the Lean against the English descriptions.
- number: human revised statements over dozens of iterations
- number: human time roughly 1-2x the time of writing the paper versus about 10x typical
- number: a full protocol can mean auditing about 1,000 lines of Lean
- limits: This is a blog post, not a peer-reviewed paper. The notes rest on a tool summary, not on the page text. It is not about distributed systems. Claude sometimes silently swapped âfor all, there existsâ for âthere exists, for allâ in zero-knowledge claims. It also defined malicious provers that were too weak.
- how much was read: not read; title and metadata only
- source; notes outside this site:
/ssd1/sichangheagent/verus_distributed/lit_a/findings2_google.md - record id:
an-experiment-in-formal
Last edited: