Keynote: Safety, Security, Safety and C / C++ - C++ Evolution
summary
Argues C++ can reach parity with other memory‑safe languages by fixing four concrete areas: bounds, lifetime, initialization, and type safety, and by adding a WG21 safety profiles framework that enforces low‑false‑positive rules at compile time (opt‑in regions, opt‑out where needed). Demonstrates cppfront prototypes that do bounds checking injected at call sites, offer automatic fix‑its/modernize passes, and use reflection/codegen for regex; shows >1,000 issues/PRs and 160+ contributors, and examples where removing std::regex use gives 50–120× speedups. Three of the top 10 CWEs relate to memory safety; the proposal targets that low‑hanging fruit.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 0:11Defining safety terms
- 0:22The problem landscape
- 1:15Language safety definitions
- 2:02Safety parity goal
- 3:49Safety profiles framework
- 5:57Memory safety vulnerabilities
- 8:21Default enforcement
- 11:07Early check-in benefits
- 13:25Performance vs safety
- 15:51Adoptability challenges
- 46:40C++ pillars
- 48:53Defining modern C++
- 52:11Enforcing rules
- 55:41Compiler checks
- 59:22Adoptability strategies
- 1:04:00Cppfront update
- 1:10:12Compile time reflection
- 1:15:16Future directions
- 1:21:06Conclusion
related talks
54mKeynote: Safety in C++: All the Safeties!
01h 04mC++ and Safety
14mEmbedded C and C++: A Security Perspective
43mC++ and Security: Can We Do Better?
45mThe existential threat against C++ and where to go from here
57mThe Real Problem of C++
43mEverything I learned about static analysis and program safety in C++
01h 01mThe Best Parts of C++
