Анатомия AddressSanitizer

RU / День 2 / 19:00 / Зал 4

Что такое санитайзеры и как устроен AddressSanitizer? В докладе рассмотрим основные механизмы, используемые ASan для выявления ошибок доступа к памяти. Заглянем в компилятор (clang и gcc), посмотрим, как меняется генерация кода при включении опции fsanitize=address, и к чему это может привести. Посмотрим на рантайм библиотеку ASan и как она взаимодействует со сгенерированным кодом. Рассмотрим примеры, где ASan может ошибиться. Ну и наконец, разберемся, как ASan генерирует отчеты о ошибках, какие при этом могут возникнут проблемы и как их решить.

Цель доклада — сделать так, чтобы для слушателей в работе AddressSanitizer не осталось магии. После доклада люди смогут лучше ориентироваться в том, что выдает ASan, поймут границы его возможностей. Аудитория также получит несколько советов по решению проблем, которые могут возникать на практике при внедрении ASan в проект.

Комментарий программного комитета

Доклад об очень важном инструменте, который должен быть частью каждого пайплайна сборки и тестирования C++ программ.

Скачать презентацию