Abstract
RustMC is a stateless model checker that targets push-button verification of unmodified concurrent Rust programs. As both Rust and C/C++ compile to LLVM IR, RustMC builds on GenMC which provides a verification framework for LLVM IR. This allows verification of Rust code and any foreign function dependencies. In this tool paper we present key implementation challenges, use-cases, and an empirical evaluation of RustMC. The challenges include intercepting threading operations, promoting memory intrinsics, and handling uninitialised accesses, all stemming from Rust’s unique compilation strategy. Case studies adapted from real-world programs show RustMC finds concurrency bugs in unsafe Rust code, FFI calls to C/C++, and atomic operations. We evaluate our tool’s functionality on the Loom model checker test suite and a set of production-level Rust concurrent data structures.
| Original language | English |
|---|---|
| Publication status | Accepted/In press - 24 Mar 2026 |
| Event | International Conference on Formal Techniques for Distributed Objects, Components, and Systems - Urbino, Italy Duration: 8 Jun 2026 → 12 Jun 2026 |
Conference
| Conference | International Conference on Formal Techniques for Distributed Objects, Components, and Systems |
|---|---|
| Abbreviated title | FORTE |
| Country/Territory | Italy |
| City | Urbino |
| Period | 8/06/26 → 12/06/26 |
Keywords
- Model Checking
- Rust
- LLVM
Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver