Published March 4, 2026 | Version v1
Conference paper Open

HiRustVer: Industrial Rust Verification via Mature C Toolchains

Description

Rust is increasingly adopted in mission-critical systems, yet its type system alone cannot prevent panics, logic errors, or undefined behavior from unsafe code—formal verification remains necessary. However, real-world industrial Rust codebases pose three key challenges for verification: pervasive use of advanced features (associated types, dynamic dispatch, closures, unsafe blocks), complex dependency graphs with over a hundred transitive crates, and stringent industrial constraints where code rewriting is infeasible and automation is essential. No existing Rust verification tool meets these combined requirements. We present HiRustVer, a verification framework that takes a different route: translating Rust to verification-friendly C to exploit the maturity of existing C verification infrastructure. Our pipeline extends Charon (Rust to LLBC) and Eurydice (LLBC to C) with broader Rust feature support, then employs Frama-C for deductive verification with LLM-based contract inference to reduce manual annotation overhead. Applied to a production component from Huawei's HarmonyOS, HiRustVer successfully translates the entire codebase—handling associated types, dynamic dispatch, closures, and unsafe blocks—and achieves 56% automated verification, with the remainder under expert review. This work demonstrates that formal verification of real-world, non-verification-oriented Rust codebases is achievable today with appropriate tooling and engineering effort.

Notes

5 pages. Talk accepted at the Rust Verification Workshop (RW 2026), ETAPS 2026, Turin, Italy, April 13–14, 2026.

Files

main.pdf

Files (425.8 kB)

Name Size Download all
md5:a3de7da918f2173e45b6dab1ac9fc59c
425.8 kB Preview Download