Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore a comprehensive empirical study examining bugs in the Rust compiler (rustc) through this 14-minute conference presentation from OOPSLA 2025. Delve into a systematic analysis of 301 manually reviewed compiler issues reported between 2022 and 2024, focusing specifically on bugs originating in semantic analysis and intermediate representation processing stages that implement essential Rust language features like ownership and lifetimes. Learn how Rust's unique memory safety guarantees and specialized mechanisms such as trait solving, borrow checking, and specific optimizations introduce complexity that results in bugs uncommon in traditional compilers. Discover key findings revealing that rustc bugs primarily arise from Rust's type system and lifetime model, with frequent errors occurring in High-Level Intermediate Representation (HIR) and Mid-Level Intermediate Representation (MIR) modules due to complex checkers and optimizations. Understand how bug-revealing test cases often involve unstable features, advanced trait usages, lifetime annotations, standard APIs, and specific optimization levels, while examining the limitations of existing testing tools in detecting non-crash errors. Gain insights into the categorization of bugs based on their causes, symptoms, affected compilation stages, and test case characteristics, along with an evaluation of current rustc testing tools and their effectiveness. Access supplementary materials including the full research article and artifact archive with reusable and reproduced results to support further research in compiler reliability and Rust program safety.
Syllabus
[OOPSLA'25] An Empirical Study of Bugs in the rustc Compiler
Taught by
ACM SIGPLAN