06 сентября 2024
Статический анализ кода / Виды анализа и диагностики / Поиск кадров в регионах
0
0
В гостях у «Битовых масок» — Андрей Карпов и Юрий Минаев из 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 — Заключение
Плейлист
Битовые маски: о системном программировании простыми словами
В 29 выпуске «Битовых масок» к Алине Галичиной и Антону Афанасьеву присоединился Богдан Колбов — ведущий инженер по модульной верификации YADRO, специалист с широким опытом на разных инженерных позици...
В новом выпуске «Битовые маски» возвращаются к своим истокам, а именно к компиляторам для процессоров. И процессоров весьма специфических — на базе архитектуры VLIW (Very Long Instruction Word). Разоб...
В новом выпуске «Битовых масок» главной темой стали нейросети — и, конечно же, системное программирование и аппаратная разработка в этой области. К Елене Лепилкиной и Антону Афанасьеву присоединился А...
Как стандарты беспроводной связи воплощают в «железе»?
Мы стартуем новый сезон «Битовых масок»! Гостем 26 выпуска стал Антон Бобков — опытный инженер YADRO, работающий в сфере цифровой обработки сигна...
В юбилейном, 25 выпуске «Битовых масок» гостем стал Михаил Коробков — основатель сообщества FPGA-Systems и одноименной конференции, издатель FPGA-Systems Magazine. Михаил более 10 лет занимается FPGA...
Героем 24 выпуска «Битовых масок» стал Артём Кашканов из группы мониторинга производительности ПО YADRO, ранее — специалист по аппаратной трассировке в Intel.
Артём — создатель популярного YouTube-ка...
В 23 выпуске «Битовых масок» к Антону Афанасьеву и Елене Лепилкиной присоединилась Алина Галичина из группы модульной верификации YADRO. Алина получила высшее образование на кафедре волоконно-оптическ...
Гостем 22 выпуска подкаста «Битовые маски» стал Сергей Пушкарёв — руководитель отдела разработки BIOS в YADRO. Сергей начал работу с BIOS и UEFI ещё в университете и может очень много рассказать об эт...
В 21-м выпуске подкаста «Битовые маски» к Антону Афанасьеву присоединились сразу два гостя из YADRO. Валентин Петров — главный архитектор отдела исследований производительности и моделирования архитек...
В юбилейном, 20-м выпуске подкаста «Битовые маски» мы решили затронуть новую для себя сферу высоких технологий. На этот раз к ведущим присоединился Василий Рамаданов, один из разработчиков базовой ста...
В 19 выпуске к ведущим подкаста «Битовые маски» присоединился Антон Бондарев, создатель и активный разработчик Embox — свободной кросс-платформенной RTOS для встроенных систем.
Руководствуясь богатым...
Гость 18 выпуска подкаста — Юрий Панчул, человек, знакомый большинству людей, занимающихся дизайном процессоров, один из основателей и создателей программы Школы синтеза цифровых схем. В портфолио Юри...
В этом выпуске мы побеседовали с Николаем Иготти — разработчиком с опытом сразу во многих сферах системного программирования. Николай разрабатывал виртуальные машины (Java HotSpot), компиляторы (Kotli...
В этом выпуске мы продолжим погружаться в тему системного программирования и познакомим вас с Дмитрием Точанским — инженером с опытом работы более 20 лет в сферах системного и embedded-программировани...
В гостях у «Битовых масок» — Андрей Карпов и Юрий Минаев из PVS-Studio. Андрей более 15 лет занимается статическим анализом кода, изучает качество программного обеспечения и пишет статьи и книги о про...
Продолжаем знакомить вас с профессионалами в области низкоуровневого программирования. Гость нового выпуска — Пётр Советов, разработчик компиляторов для спецпроцессоров, специалист в сфере технологий...
В гостях у «Битовых масок» — Игорь Астахов, инженер-программист, который разрабатывает высокопроизводительные библиотеки и занимается низкоуровневыми оптимизациями уже 25 лет. Он начал строить карьеру...
Новый гость подкаста «Битовые маски» — Иван Углянский, известный разработчик JVM, член программного комитета Java-конференции SnowOne и один из создателей профиля «Системное программирование» в НГУ. О...
В гостях у «Битовых масок» — Алексей Бродкин из Synopsys. Он работает в компании уже 16 лет и сейчас руководит инженерами, которые разрабатывают Linux и операционные системы реального времени. Поговор...
В этом выпуске мы возвращаемся на уровень разработки аппаратного обеспечения. В гостях у «Битовых масок» — Алексей Ковалов, руководитель группы модульной верификации в YADRO, который в прошлом успел п...
Гость выпуска — инженер Дмитрий Рябцев, который начинал свою карьеру в команде Intel и больше 20 лет разрабатывал Intel VTune, инструмент анализа производительности программ для компьютеров на базе x8...
Во второй части выпуска «Битовых масок» Константин Владимиров, инженер с 20-летним опытом разработки на C/C++, расскажет об особенностях разработки компиляторов для GPU. А также порассуждает о новых п...
В этом выпуске Константин Владимиров, занимавшийся разработкой компиляторов для CPU и GPU, расскажет о том достоинствах и недостатках GCC и LLVM. Константин опишет различные современные подходы к алло...
В этом выпуске Александр Разинков, работавший во множестве компаний в сфере разработки встраиваемых систем, расскажет о том, как происходит передача данных в беспроводных сетях. Александр объяснит алг...
В этом выпуске Никита Поляков, работавший в МЦСТ и Syntacore, позволит понять, как выглядит работа разработчика процессоров. Никита рассказал о различных специализациях, которые есть внутри профессии,...
В этом выпуске Владимир Кемпик, имеющий опыт работы в Oracle, Azul и Syntacore, погрузил нас в мир JVM. Он рассказал об огромном разнообразии различных компиляторов и сборщиков мусора, применяемых в J...
Говорим с Антоном Колесовым о дебаггерах для C/C++, в основном о gdb. Опираясь на 10-летний опыт работы в команде отладчиков Synopsys, он рассказал о внутреннем устройстве отладчиков, DWARF, отладке g...
В этом выпуске беседуем с Александром Чуйковым, который помогал клиентам из крупных компаний в отладке множества системных и встраиваемых приложений, работая в отделах технической поддержки STMicroele...
В первом выпуске беседуем с Дмитрием Петровым – он участвовал в разработке С/С++ компилятора в МЦСТ и Kotlin компилятора в JetBrains. А теперь снова вернулся к компилятору C/C++, но уже для RISC-V арх...