Rustlantis: Randomized Differential Testing of the Rust Compiler
summary
Rustlantis is a randomized differential fuzzer that generates MIR directly and targets rustc backends (LLVM and Cranelift) plus Miri to detect UB. It statically tracks runtime state with a place graph and borrow stack, injects decoy blocks to force complex optimizations, and forbids nondeterministic casts. The tool finds concrete failures: 22 previously unknown bugs, including 16 miscompilations, most reported and many already fixed.
AI-written summary · about
chapters (10)
- 0:00Compiler testing challenges
- 1:04Differential testing approach
- 2:07Compiler stages and optimizations
- 3:51Mid-level IR generation
- 5:37Program generation flow
- 8:27Place graph for UB prevention
- 10:14Rust aliasing rules safety
- 11:40Non-determinism in outputs
- 13:05Bug discovery results
- 14:53Q&A
related talks
53mLocknote: How Badly Do We Want Correct Compilers?
09mRustc: How I Learned to Respect the Compiler
58m(Almost) Everything You Should Know About The Compiler Frontend
14mFinding Compiler Bugs through Cross-Language Code Generator and Differential Testing
34mMiniRust: A core language for specifying Rust
15mInterleaving Large Language Models for Compiler Testing
17mFoundations for a Rust-Like Borrow Checker for C
14mUnveiling Compiler Faults via Attribute-Guided Compilation Space Exploration
