~/talk

Closing the Gap between Rust and C++ Using Principles of Static Analysis

Talkat CppCon 2020 · 2020-09-14..09-18· [security]
slides:none on file

Compares Rust guarantees to concrete C++ checks implemented and demoed: live MSVC code analysis rules for casting, exhaustive switch/match, converting C-style loops to range for, detecting expensive copies and suggesting const auto&, and lifetime checks that flag dangling iterators. Shows a real bug found in millions of lines that becomes remote code execution but is downgraded to denial of service by switching to gsl::span and gsl_copy. Describes AST modernization, plugin plans and a preview where green-squiggle diagnostics and some fix-its already work.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:54What is static analysis
  3. 4:03Why explore Rust and C++
  4. 6:28First Rust learning and challenges
  5. 8:54Safety buckets comparison
  6. 11:44Casting and switch rules
  7. 13:10Demo: Switch statement checks
  8. 14:59Smarter loops in Rust
  9. 16:42Demo: Loop safety checks
  10. 18:52Smarter copying in Rust
  11. 20:57Demo: Expensive copy detection
  12. 23:01Const auto and references
  13. 24:48Demo: Const reference checks
  14. 26:13Lifetimes and invalid iterators
  15. 27:37Demo: Dangling iterator check
  16. 29:03Mutability in Rust
  17. 31:28Summary of safety improvements
  18. 32:53Production code bug examples
  19. 38:03Current tooling and integration
  20. 40:30Future plans for C++ analysis
  21. 43:41Community and feedback
  22. 46:47Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.