Статический анализ кода / Виды анализа и диагностики / Поиск кадров в регионах


Episode Artwork
1.0x
0% played 00:00 00:00
Sep 06 2024 116 mins   2
В гостях у «Битовых масок» — Андрей Карпов и Юрий Минаев из PVS-Studio. Андрей более 15 лет занимается статическим анализом кода, изучает качество программного обеспечения и пишет статьи и книги о программировании на С++. Юрий, архитектор C++ анализатора PVS-Studio, глубинно дописывает и переписывает парсер и прочие внутренности C++ анализатора.

В новом выпуске инженеры рассказывают о том, с чего начиналась разработка статического анализатора PVS-Studio и как работает команда сегодня.

Как устроен статический анализ и в чем главные отличия от линтера и фронтенда компилятора? Почему PVS-Studio не использует LLVM? Для каких диагностик важен Data-Flow анализ и насколько тяжело пока обходиться без CFG? Что нужно знать и уметь, чтобы попасть на работу в PVS-Studio? Что регулирует ГОСТ на статический анализ и правда ли он помогает в построении процессов? Разбираемся в этих вопросах в пятнадцатом выпуске «Битовых масок».

Видеоверсия выпуска на YouTube: https://youtu.be/fYWW5HRn9aY

✅Подписывайтесь на Telegram-канал подкаста: https://t.me/+bx50QfUlw4pkZDEy

🔹Станьте частью команды YADRO! https://careers.yadro.com


0:00 — Тизер

1:08 — Представление Андрея и Юрия

2:28 — Знакомство с программированием

6:50 — Поиск кадров в Туле

18:12 — С чего началась работа PVS-Studio

22:08 — Как Юрий пришел в разработку статических анализаторов

23:33 — Конкуренты PVS-Studio

25:15 — Статистический анализ

26:45 — Сравнение с clang-tidy

27:44 — Почему не используется LLVM

29:31 — Любимые и нелюбимые компиляторы

32:02 — Еще причины не использовать LLVM

33:44 — Ошибки в компиляторах

35:10 — Как компиляторы уменьшают количество ошибок

36:36 — Проблема с лямбда-функцией

37:48 — Стоит ли проверять все варианты компиляторов

39:59 — Разница между компилятором и статическим анализатором

41:13 — Этапы статического анализа и дополнительная метаинформация

47:53 — Перенос диагностик из статического анализа в компиляторы

51:06 — Сравнение с другими статическими анализаторами

54:31 — Внутреннее устройство PVS-Studio и самые сложные части

1:05:17 — Что можно улучшить в C++ и почему PVS-Studio написан на C++

1:08:51 — Диагностики в PVS-Studio

1:13:53 — Межпроцедурный и межмодульный анализы

1:15:22 — Data-Flow анализ

1:24:12 — ГОСТ на статический анализ кода

1:29:59 — Undefined behavior

1:34:52 — Появятся ли новые ошибки при обновлении компилятора

1:36:46 — Статический анализ для встраиваемого ПО

1:40:48 — Работа со сторонними библиотеками

1:45:05 — Диагностики для оптимизации кода

1:51:51 — Диагностики, специфичные для архитектуры

1:52:55 — Удаленные диагностики

1:54:06 — Планы на будущее PVS-Studio

1:55:28 — Заключение