formal-methods
This article is a re-publication of Rei-AIOS Paper 133 for the dev.to community. The canonical version with full reference list is in the permanent archives below: Zenodo (DOI, canonical) : https://doi.org/10.5281/zenodo.19713219 Internet Archive : https://archive.org/details/rei-aios-paper-133-1776974645040 Harvard Dataverse : https://doi.org/10.7910/DVN/KC56RY GitHub source (private): https://g…
Verus is a tool for verifying the correctness of code written in Rust. The main goal is to verify full functional correctness of low-level systems code, building on ideas from existing verification frameworks like Dafny, Boogie, F*, VCC, Prusti, Creusot, Aeneas, Cogent, Rocq, and Isabelle/HOL. Verification is static: Verus adds no run-time checks, but instead uses computer-aided theorem proving t…
About ten years ago, I started thinking in earnest about how we could make it easier to write correct programs. Researching this question led me to topics like formal methods and type systems, techniques to help establish that a given program adheres to some rules. However, I was still unsure of how to prove that software was actually correct. Not in the sense that the executed instructions produ…
Got a "Verified" result from my formal verification engine. Problem was, it was completely wrong. Looking at a simple function: checkType from Bitcoin Core. The engine generated this SMT query: (assert (= throwsRuntimeError (not (= typ expected)))) (assert (= typ expected)) (assert throwsRuntimeError) At first glance? Looks fine. But there's a fatal flaw in there. Unpack it and here's what you ge…
Researchers from University of Bremen have released “Linear Formal Verification of Sequential Circuits using Weighted-AIGs”. Abstract “Ensuring the functional correctness of a digital system is achievable through formal verification. Despite the increased complexity of modern systems, formal verification still needs to be done in a reasonable time. Hence, Polynomial Formal Verification (PFV) tech…
In verification, speed without provable correctness is not progress. The post Formal Verification First: How AI Supports But Cannot Replace It appeared first on Semiconductor Engineering .
Managing complexity without compromising mathematical rigor. The post Formal Verification Fundamentals Remain Non-Negotiable In The New Verification Revolution appeared first on Semiconductor Engineering .
Researchers from University of Florida published “IFV: Information Flow Verification at the Pre-silicon Stage Utilizing Static-Formal Methodology.” Abstract “Modern system-on-chips (SoCs) are becoming prone to numerous security vulnerabilities due to their ever-growing complexity and size. Therefore, a comprehensive security verification framework is needed at the very early stage of the SoC desi…
SRI - A global leader in R&D with deep roots in Silicon Valley. The accolade from the Association of Computing Machinery recognizes Shankar’s fundamental contributions in areas such as formal methods and system assurance. The post SRI’s Natarajan Shankar named a 2025 ACM Fellow appeared first on SRI .
Monolithic architectures create combinatorial explosions in verification complexity. Modular boundaries tame this growth, making bytecode-level formal verification tractable.
The University of Maryland and Zapata Quantum, Inc. (OTC: ZPTA) have launched a research collaboration to implement formal verification in quantum software development. This partnership aims to transition beyond manual, error-prone coding by using mathematical proofs to ensure that quantum algorithms behave correctly as they scale. The initiative seeks to establish a "verification-first" model, a…
Program verification ensures software correctness through formal methods but often incurs substantial computational overhead. In SAT-based verification, the verification task is reduced to satisfiability checking, where satisfiable instances yield concrete counterexamples and unsatisfiable instances are certified by resolution proofs. While satisfying assignments and resolution proofs are useful …

Prototyping a Scalable Proof Engine Author(s) Rosario, JonAdvisor Chlipala, Adam Terms of use Abstract Formal verification is an exciting development in software engineering, enabling implementations of programs to be rigorously checked against mathematical specifications. Assuming the specification is well-defined, formal verification provides guarantees of a program’s correctness and freedom fr…
I attended the TLA+ Community Event at Hamilton, Ontario on Sunday. Several talks pushed the boundaries of formal methods in the real world through incorporating testing, conformance, model translation, and performance estimation. The common thread was that: TLA+ isn't just for specs anymore. It's being integrated into tooling: fuzzers, trace validators, and compilers. The community is building b…
This EuroSys 2025 paper wrestles with the messy interface between formal specification and implementation reality in distributed systems. The case study is ZooKeeper. The trouble with verifying something big like ZooKeeper is that the spec and the code don’t match. Spec wants to be succinct and abstract; code has to be performant and dirty. For instance, a spec might say, “this happens atomically…
Embedding formal specification constructs directly into programming languages could revolutionize smart contract development and eradicate vulnerabilities in smart contracts.
This paper (NSDI'25) applies lightweight formal methods (hence the pun "smart casual" in contrast to formal attire) to the Confidential Consortium Framework (CCF). CCF is an open-source platform for trustworthy cloud applications, used in Microsoft's Azure Confidential Ledger service. The authors combine formal specification, model checking, and automated testing to validate CCF's distributed pro…
Author: Milton PosnerDate: 06.28.24 At first glance, the field of formal methods doesn’t seem to lend itself to an easy-to-use product intended for broad audiences. It deals with the verification […] The post This tool finds errors in code and suggests how to fix them appeared first on Khoury College of Computer Sciences .
This paper, by Finn Hackett, Joshua Rowe, Markus Kuppe, appeared in International Conference on Software Engineering 2023. It presents a specification of Azure Cosmos DB consistency behavior as exposed to the clients. During my sabbatical at CosmosDB in 2018, I was involved in a specification of CosmosDB as exposed to the clients . The nice thing about these specs is that they didn't need to mod…
research.ioSign up to keep scrolling
Create your feed subscriptions, save articles, keep scrolling.
