An Empirical Study of Bugs in the rustc Compiler
summary
Analysis of 301 rustc issues from 2022–2024 shows concrete fault patterns: about 30% root in the type system, ~15% in ownership, ~15% from MIR optimizations, and ~40% general errors; ~20% of bugs involve diagnostics and ~25% of triggering tests use unstable features. Test cases are often tiny but exercise type-system and lifetime bugs and advanced trait/generic usage. Community tools like Icemaker and Raslantis mainly find crashes; MIRI flags safe-Rust UB and current fuzzers miss non-crash miscompilations.
AI-written summary · about
chapters (13)
- 0:00Study introduction
- 1:04Compiler pipeline focus
- 2:09Research questions & data
- 3:55Bug causes in rustc
- 5:45MIR optimization bugs
- 6:30Bug symptoms in Rust
- 7:32Miscompilation examples
- 8:17Bug-triggering test cases
- 9:18Testing tools for rustc
- 10:23Testing tools limitations
- 10:44Key findings summary
- 11:48Future research suggestions
- 12:08Q&A
related talks
45mBuilding Safe and Secure Systems in Rust
20mAn Empirical Study of Rust-for-Linux: The Success, Dissatisfaction, and Compromise
58mRust for The Curious C++ Developers
15mHow Do Programmers Use Unsafe Rust?
40mWhat's up with Rust?
47mWhat's unique about Rust?
37mCompiler Errors in rustc: A UX Perspective
59mWhat's the deal with unsafe Rust?
