Statically Detecting Memory Bugs in Rust
Rust is a programming language designed to build efficient and safe low-level software. Its main idea is to inherit most features in C and its good runtime performance but to rule out C’s memory safety issues with strict compile-time checks. Due to its safety and performance natures, Rust draws many interests from developers in recent years. Rust’s core safety design is simple and sound. It is widely believed that there are no (or very few) memory bugs in Rust programs. However, our recent empirical study shows that there are still many severe memory bugs in Rust. This proposal aims to identify Rust’s memory bugs missed by the Rust compiler through rule-based static analysis, further improving the reliability and safety of Rust’s ecosystem.