|5 days ago||about 1 hour ago|
|MIT License||Apache License 2.0|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CreuSAT: Formally verified SAT solver written in Rust and verified with Creusot
3 projects | news.ycombinator.com | 17 Jun 2022
Unsurprisingly, we can see a growing interest in the Rust ecosystem regarding formal verification. I try to keep https://github.com/newca12/awesome-rust-formalized-reasoning up to date. I will add CreuSAT shortly.
Kani Rust Verifier – a bit-precise model-checker for Rust
7 projects | news.ycombinator.com | 23 Mar 2022
This dispersed progress is the sign of an absence of maturity but the exploration of this space with Rust is very promising : https://github.com/newca12/awesome-rust-formalized-reasoning
CVE-2023-4863: Heap buffer overflow in WebP (Chrome)
18 projects | news.ycombinator.com | 12 Sep 2023
> those applications need the proof for correctness so that more dangerous code---say, what would need `unsafe` in Rust---can be safely added
There are actually already tools built for this very purpose in Rust (see Kani  for instance).
Formal verification has a serious scaling problem, so forming programs in such a way that there are a few performance-critical areas that use unsafe routines seems like the best route. I feel like Rust leans into this paradigm with `unsafe` blocks.
Formal verification for unsafe code?
2 projects | /r/rust | 16 Jun 2023
2 projects | /r/rust | 15 Jun 2023
You can also use Kani to check unsafe code. https://github.com/model-checking/kani
This Week in Rust 499
3 projects | news.ycombinator.com | 15 Jun 2023
Kani 0.28.0 has been released!
2 projects | /r/KaniRustVerifier | 16 May 2023
Here's a summary of what's new in version 0.28.0:
Kani 0.27.0 has been released!
2 projects | /r/KaniRustVerifier | 2 May 2023
However, there may be more down the line since we don't have (1) for now. If you're interested, would you mind commenting to this issue?2 projects | /r/KaniRustVerifier | 2 May 2023
We're excited to announce the release of Kani Rust Verifier v0.27.0! Kani is a bit-precise model checker for Rust, and this new release comes with exciting changes and improvements.
Is there something like "super-safe" rust?
8 projects | /r/rust | 25 Mar 2023
kani (e.g. used by hifitime)8 projects | /r/rust | 25 Mar 2023
Must move types by Niko Matsakis
3 projects | /r/rust | 17 Mar 2023
Doing this legwork for unsafe code is 100% required, and the compiler isn't of much help here (but there are external tools that check unsafe code like kani).
What are some alternatives?
prusti-dev - A static verifier for Rust, based on the Viper verification infrastructure.
MIRAI - Rust mid-level IR Abstract Interpreter
rmc - Kani Rust Verifier [Moved to: https://github.com/model-checking/kani]
rustig - A tool to detect code paths leading to Rust's panic handler
watt - Runtime for executing procedural macros as WebAssembly
gdbstub - An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full no_std support.
Kind - A next-gen functional language [Moved to: https://github.com/Kindelia/Kind2]
macro_railroad_ext - Display syntax-diagrams for Rust-macros on docs.rs and doc.rust-lang.org
seer - symbolic execution engine for Rust
minisat - Minisat Haskell bundle
Formality - A modern proof language [Moved to: https://github.com/kind-lang/Kind]
cicada - Cicada Language