forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
run-kani.sh is well written and not so difficult to read. But it's not robust and extensible.
distributed-verification (dv) a tool proposed as GSoC 2025 helps verify-rust-std (kani) skip any harness that is unmodified, and make verification workloads into multiple VMs.
dv can tell which harnesses should be really run based on function hash difference. The hash is computed through source code of function, and all traversed calls inside.
The rest of work is to integrate it into verify-rust-std. But here are some choices to achieve it:
- keep run-kani.sh as full check, and create another script as partial check
- keep run-kani.sh, and add partial check logics (i.e. invoking dv) to current code, almost needing a big surgery
- move functionalities from run-kani.sh into verify_rust_std a CLI used by dv to operate on verify-rust-std (from kani's perspective for now), currently it only invokes
cargo build
with RUSTC_WRAPPER as dv, but I'd like to implement what run-kani.sh does now, and handle the switch between full checks and partial checks. Also there is a TODO in run-kani.sh to make argument parsing better:
verify-rust-std/scripts/run-kani.sh
Line 23 in 8f55686
# TODO: Improve parsing with getopts |
What do you think?
Metadata
Metadata
Assignees
Labels
No labels