The main source repository for the Rust programming language, containing the compiler, standard library, and documentation.
verus-lang/verus
A tool for formally verifying Rust code, checking specifications against all possible executions instead of adding run-time checks.
- Stars
- 3,374
- Forks
- 239
- Open issues
- 393
- Last commit
- 6 hours ago
What is it?
Verus lets developers write specifications describing what their Rust code should do, then statically checks that the executable code satisfies them for all possible executions. Instead of inserting run-time assertions, it relies on automated solvers to prove correctness ahead of time.
Verus supports a subset of Rust and can reason about code beyond the standard type system, such as code that manipulates raw pointers. It is aimed at low-level systems code where correctness guarantees matter.
The project is under active development, so some features may be incomplete or broken. It ships with a tutorial, standard library API docs (vstd), a browser playground, and an auto-formatter called verusfmt.
Key features
- 01Specifications are written alongside Rust code and checked statically.
- 02Proofs are discharged by automated solvers, with no run-time checks added.
- 03Supports reasoning about low-level code such as raw pointer manipulation.
- 04Provides a standard library (vstd) with verified-friendly APIs.
- 05Includes an online playground and a VS Code integration.
Use cases
- Verifying correctness of low-level systems code written in Rust.
- Proving properties of data structures or algorithms that must never violate invariants.
- Researching formal verification techniques for Rust programs.
Quick start
- 1
Try Verus in your browser at the Verus Playground
- 2
Follow the installation instructions in INSTALL.md for a full local setup
- 3
Work through the Tutorial and reference guide
Things to know
- Verus is under active development, so features may be broken or missing.
- It supports only a subset of Rust.
- The documentation is still incomplete, and help is mainly through Zulip.
Topics
FAQ
- What is verus?
- A tool for formally verifying Rust code, checking specifications against all possible executions instead of adding run-time checks. Verus lets developers write specifications describing what their Rust code should do, then statically checks that the executable code satisfies them for all possible executions. Instead of inserting run-time assertions, it relies on automated solvers to prove correctness ahead of time.
- Is verus free to use? What license does it have?
- verus is open source under the MIT license. Check the license terms before using it in commercial products.
- Is verus still maintained?
- Actively maintained. The last commit to verus was on Oct 22, 2026.
- What can I use verus for?
- Verifying correctness of low-level systems code written in Rust. Proving properties of data structures or algorithms that must never violate invariants. Researching formal verification techniques for Rust programs.
- How do I install verus?
- Try Verus in your browser at the Verus Playground Follow the installation instructions in INSTALL.md for a full local setup Work through the Tutorial and reference guide
- Where can I get verus?
- The source code and installation instructions are on GitHub: https://github.com/verus-lang/verus
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Rust engine for planning, applying and certifying changes to OWL/RDF ontologies, with blast-radius reports and checkable Lean 4 proofs of derived conclusions.
A simple, fast, compiled programming language for maintainable software, with zero library dependencies and automatic C-to-V translation.
A spec-driven development workflow for AI coding assistants that agree on proposals, specs and tasks before any code is written.
An open format and specification for packaging instructions, scripts and resources into SKILL.md folders that AI agents load on demand.
The specification, TypeScript and JSON Schema definitions, and official documentation for the Model Context Protocol (MCP), an open standard for connecting AI applications to external tools and data.