Интересный доклад Андрея Карпова "Ошибки в коде: ожидания и реальность" на SafeCode

Интересный доклад Андрея Карпова Ошибки в коде: ожидания и реальность на SafeCodeИнтересный доклад Андрея Карпова Ошибки в коде: ожидания и реальность на SafeCodeИнтересный доклад Андрея Карпова Ошибки в коде: ожидания и реальность на SafeCode

Интересный доклад Андрея Карпова "Ошибки в коде: ожидания и реальность" на SafeCode. Идея в том, что у разработчика средства анализа кода (или исследователя) могут быть ожидания по типам ошибок, которые должны часто встречаться в исследуемом коде. А на практике получается, что одни типы ошибок практически не встречаются (неинициализированные переменные, деление на ноль, выход за границу массива, присвоения вместо сравнения), либо встречаются, но практически не влияют на работу приложений (нулевые ссылки и указатели).

С другой стороны, встречаются пласты ошибок, о которых и не думали:

🔸 CWE-14 (исчезновение memset)
🔸 Повторная запись в переменную
🔸 Проверка указателя после new
🔸 Опечатки вида (А == A)

Лучше не увлекаться ошибками, которые взяты из книг, а брать их из реальной жизни (свой код, сторонний код, код с ошибками, присланный пользователями анализатора).
Важно не фокусироваться на анализе потока данных и не делать инструмент анализа однобоким.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Captcha
captcha
Reload