GitHunt
UT

utaal/verus

Verified Rust for low-level systems code

Quick Start Verus docs Library Documentation project chat

Verus Verus

Verus is a tool for verifying the correctness of code written in Rust.
Developers write specifications of what their code should do,
and Verus statically checks that the executable Rust code will always
satisfy the specifications for all possible executions of the code.
Rather than adding run-time checks, Verus instead relies on powerful solvers to
prove the code is correct. Verus currently supports a subset of Rust (which we
are working to expand), and in some cases, it allows developers to go beyond
the standard Rust type system and statically check the correctness of code
that, for example, manipulates raw pointers.

VS Code Demo

Status

Verus is under active development. Features may be broken and/or missing, and
the documentation is still incomplete. If you want to try Verus, please be
prepared to ask for help in the ๐Ÿ’ฌ Zulip.

The Verus community has published a number of research papers, and there are a
variety of industry and academic projects using Verus. You can find a list on our
publications and projects page.
If you're using Verus please consider adding your project to that page (see the instructions there).

Try Verus

To try Verus in your browser, please visit the Verus Playground.
For more involved development, please follow our installation instructions.
Then you can dive into the documentation below, starting
with the ๐Ÿ“– Tutorial and reference.
We also support an auto-formatter (verusfmt) for your
Verus code.

Documentation

Our (work-in-progress) documentation resources include:

Examples of Using Verus

In addition to the documentation above, it can be helpful to see Verus used in action. Here are some starting points.

Getting in touch, reporting issues, and starting discussions

Please report issues or start discussions here on GitHub, or join us on ๐Ÿ’ฌ Zulip for more realtime discussions and if you need help. Thank you for using and contributing to Verus!

We use GitHub discussions for feature requests and more open-ended conversations about
upcoming features, and we reserve GitHub issues for actionable issues (bugs) with
existing features. Don't worry though: if we think an issue should be a discussion (or
vice versa) we can always move it later.

We welcome contributions! If you'd like to contribute code, have a look at the tips in
Contributing to Verus.


Zulip Zulip sponsors free hosting for Verus. Zulip is an open-source modern team chat app designed to keep both live and asynchronous conversations organized.

Special thanks to Johanna Polzin for her contribution to the design of the Verus Logo. The Verus logos (bitmap and vector) are by the Verus Contributors and licensed under the terms of Creative Commons Attribution 4.0 International license.

Languages

Rust99.5%Shell0.2%HTML0.1%CSS0.1%Python0.0%PowerShell0.0%Dockerfile0.0%Nix0.0%Batchfile0.0%Ruby0.0%Makefile0.0%
MIT License
Created December 2, 2021
Updated January 17, 2025
utaal/verus | GitHunt