Presented in Saint-Petersburg in June 2017 at Heisenbug conference. Video and slides are in Russian.
As the saying goes, “with great power comes great responsibility”. C++ is a language with great expression power and vast capabilities. One have to pay for these capabilities with possible defects, which are absent in programs written in managed languages.
Sanitizers are wonderful tools, which will help you find complex defects in C++ programs. I’ll talk about these tools, what they can do, and how to use them in your project.
Download slides in Russian (PDF)
- “AddressSanitizer: A Fast Address Sanity Checker”
- “MemorySanitizer: fast detector of uninitialized memory use in C++”
- “ThreadSanitizer: data race detection in practice”
- AddressSanitizer, или как сделать программы на C/С++ надежнее и безопаснее, Константин Серебряный— talk on AddressSanitizer by Konstantin Serebryany at HighLoad 2012 in Moscow (in Russian)
- "”go test -race” Under the Hood” by Kavya Joshi — explanation of “go race” which is based on ThreadSanitizer, presented at StrangeLoop 2016
- Konstantin Serebryany page at Google Research