"Sanitizers" is a family of dynamic testing tools built into C++ compilers (Clang and GCC):
- AddressSanitizer finds memory errors, such as use-after-free, buffer overflows, and leaks;
- ThreadSanitizer finds data races, deadlocks, and other threading bugs;
- MemorySanitizer finds uses of uninitialized memory;
- UndefinedBehaviorSanitizer finds other kinds of undefined behavior, such as use of incorrect dynamic type, shift by illegal amount and many others.
You will learn how these tools work, how to use them on small programs and how we deploy them in large projects.