Safer at Any Speed: Automatic Context-Aware Safety Enhancement for Rust
summary
Rust libraries use unchecked indexing in 10% of the 500 most downloaded packages, and small compiler or workload changes make bounds-check overhead vary widely. NADER compiles both original and fully-checked variants, runs an application benchmark with a user threshold, and uses a hotness-based heuristic plus a one-checked-slowdown step to pick checks to keep or reintroduce. On 10 apps NADER automatically restores hundreds of checks (e.g. 712 reintroduced bounds checks) often with no measurable slowdown.
AI-written summary · about
chapters (10)
- 0:00Start
- 0:21Bounds checking in Rust
- 1:15Developers still circumvent these checks for performance
- 2:17Key idea
- 2:27Application context
- 3:36Compiler context
- 8:54Key insight
- 10:49Finding the minimal set of unchecked indexing
- 11:38Is NADER effective?
- 12:51Conclusion
related talks
56mRust for Safe and Scalable Automotive: Insights from
19mCounterexamples in Safe Rust
19mProduction Unsafe Rust
25m"Compiler-Driven Development: Making Rust Work for You"
30mEnsuring Rust Safety: Strategies for Managing Unsafe Rust
37mRust and Other Interesting Things
40mWhat's up with Rust?
40mRust’s approach of getting things right
