How to write more reliable code
summary
Covers practical ways to make C++ programs more reliable by using static analysis tools, sanitizers, and compiler warnings; shows how to integrate these into development workflows and CI. Includes concrete tools and techniques for detecting bugs earlier and improving code quality.
AI-written summary · about
chapters (25)
- 0:00Intro
- 0:42Reliable code?
- 2:47Microsoft Zune Bug
- 3:33MySQL vulnerability
- 5:54Guidelines
- 6:18Manage resources automatically using resource handles and RAIL
- 7:12If in doubt about operator precedence, parenthesize
- 9:06Avoid complicated expressions
- 9:51Don't try to use volatile for synchronization
- 11:25A destructor may not fail
- 12:19Don't use macros for program text manipulation Don't use macros for constants or "functions"
- 13:27Unit testing and TDD
- 15:31Errors In Unit Tests
- 18:35Human reliability
- 22:46Static Analysis in a nutshell
- 23:00Misprints
- 25:14Data-flow analysis
- 29:44Tools
- 31:58Dynamic Analysis: Example 1 This bug was found in Chromium
- 33:40Example of an error that is invisible for dynamic analysis This bug was found in Valgrind
- 33:55Modern C++ helps to avoid bugs
- 38:55Do not reinvent the wheel
- 40:43Conclusions
- 41:03Questions?
- 42:52Code review








