Presented in Saint Petersburg in June 2017 at the Heisenbug conference. Video and slides are in Russian.
# Materials
Download slides in Russian (PDF)
Slides — https://speakerdeck.com/asatarin/moitie-ruki-pieried-iedoi-ili-sanitaiziery-v-tiestirovanii
Video link — https://youtu.be/Aeu7abIKgGs
# Abstract
As the saying goes, “with great power comes great responsibility”. C++ is a language with great expressive power and vast capabilities. One has to pay for these capabilities with possible defects that are absent in programs written in managed languages.
Sanitizers are wonderful tools that 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.
# References
- “AddressSanitizer: A Fast Address Sanity Checker”
- “MemorySanitizer: fast detector of uninitialized memory use in C++”
- “ThreadSanitizer: data race detection in practice”
- https://github.com/google/sanitizers
- 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 test -race”, which is based on ThreadSanitizer, presented at StrangeLoop 2016
- Konstantin Serebryany page at Google Research