2026-10-23 · Formal Verification
This week Anthropic's Frontier Red Team and Theorem published proofs that 239 fuzz entry points across 123 open-source libraries never crash, for every input under 64 MB, checked in Rocq against the compiled binary. On the way the work found hundreds of bugs. The result changes what teams should expect from a prover. It also says, in its own limits section, where the remaining risk now lives.
That is real, and it is good news. Memory safety of C libraries is provable at scale now, and the proof companies behind this work are building something every team should use. If you ship a parser or a protocol, put it through them. (Source: Anthropic, LLMs are making formal software verification feasible at a much larger scale, 2026-10-22, and its PDF appendix, verified 2026-10-23. Theorem offers the pipeline free to qualifying open-source projects through OSS Verify, verified 2026-10-23.)
Then read how the spec was written. "The difficulty of obtaining a comprehensive and unambiguous spec is a significant obstacle to verifying software at a larger scale", so the team took "the approach of automatically converting their preexisting compilable test suites into a spec". Their limits section says it plainly: "a proof checker can’t tell you whether your spec matches reality", and “Formally verified” does not mean “bug-free.” The tests were the spec. That is the useful lesson, and it is the subject of our formal verification for AI-generated code guide.
TLA+ describes every way a system can behave and states which behaviours are acceptable, for example "there are never two leaders". Its model checker, TLC, explores every state of a finite instance and returns a concrete counterexample when one exists. A prover such as Rocq, Lean or Verus goes further: the property holds for all sizes, relative to the spec and the tool's trusted base. The proofs-at-scale work pushed that from hand-written research artifacts to roughly 180 million machine-written lines.
For concurrency, distributed protocols, memory safety, crypto, compilers and anything quantified over an infinite domain, nothing beats it. We concede that ground completely.
You don't need a sceptic to list the limits. The people who build and teach these tools put them in their own primers:
A proof shows that the code matches the spec. It never shows that the spec matches what the business meant. As proof search gets cheap, every remaining doubt moves to the spec, and today's measurements say machine-written specs are the weak step:
Martin Kleppmann, who predicts formal verification goes mainstream, says the same: "the challenge will move to correctly defining the specification" (verified 2026-09-25). In business software, the spec is your requirements, your acceptance tests and your business rules. When tests become the spec, their strength bounds what any proof means. The article's appendix measured it, on a verified interpreter: "we deliberately injected seven bugs … Five survived the random tests, while all seven broke the proof". That is mutation analysis, run on the spec's source.
Most of the properties that decide whether a release of business software is safe compare two things:
| The question | Its formal home | What runs it in practice |
|---|---|---|
| Does the running service behave like the model? | Refinement proofs, rarely practical at code level; trace validation, which its authors say "does not provide formal correctness guarantees" (Cirstea et al., SEFM 2024, verified 2026-10-23) | The model replayed against the live system, every disagreement named |
| Does the mock behave like the real provider? | None | The same suite run against both in one session, a measured divergence set |
| Does this release mean what the last one meant? | Regression verification, undecidable in general | A meaning-drift audit against a blessed baseline |
| Would the test suite notice a defect? | Mutant killing as a hyperproperty; no prover ships it | Mutation testing, scored, survivors named |
| "Quotes are easy to compare", "the premium is explainable" | None | A prose requirement, joined to graded evidence and human review |
The industrial record points the same way. AWS's Cedar team found 4 bugs while writing proofs, and 21 more by differential and property-based testing around the verified model (arXiv 2407.01688, verified 2026-09-25). Proof and testing together, each where it is strongest.
Karate Agent is the governance layer for AI-built software. Requirements, business rules, tests and evidence live in one git-native graph that your agent drives and a human audits. For the questions above:
The rules engine behind this is business rules testing. Why the gap grows as AI writes more code: AI verification debt.
None of this is a reason to skip formal methods. Use them, and connect them to the release:
A proof tells you the code matches the spec. We tell you whether the spec matches the business, and whether your tests would notice when either one moves.
Read the full guide: formal verification for AI-generated code.
Have a proof format or a property class we don't list? We build it during your evaluation.