verus-lang / verus

Verified Rust for low-level systems code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quick Start Library Documentation project chat

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.

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.

Documentation

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

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.

About

Verified Rust for low-level systems code

License:MIT License


Languages

Language:Rust 99.7%Language:Shell 0.2%Language:HTML 0.1%Language:Dockerfile 0.0%Language:PowerShell 0.0%Language:Nix 0.0%Language:Batchfile 0.0%