Полный текст
Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутриДинамический анализ отлично ловит провисшие ссылки. Но стоит снять const через промежуточный void* для модификации объекта, как Valgrind и компилятор слепнут. Неопределённое поведение искажает данные тихо, без явных сбоев.Стандартных правил статического анализатора для таких цепочек приведений не хватает. Для отлова нетипичных сценариев придётся работать напрямую с абстрактным синтаксическим деревом (AST). Разметка узлов и привязка матчеров выявляют скрытые дефекты кода ещё до этапа компиляции.