Как работает анализ Data Flow в статическом анализаторе кода

  • Поток 2
  • Очно
  • 12:10
  • RU

Анализ Data Flow (потоков данных) - технология анализа исходного кода программ, широко используемая в различных development tools: компиляторах, линтерах, IDE. Мы поговорим о нём на примере разработки статического анализатора.
Рассмотрим классификацию и различные виды Data Flow анализа, смежные технологии, взаимодополняющие друг друга и проблемы, возникающие при его разработке, и сюрпризы, которые нам преподносит C++, когда мы пытаемся его проанализировать.
В ходе доклада мы разберём несколько ошибок, найденных в реальных проектах с помощью этой технологии.
Data flow analysis is a technology for source code analysis, widely used in various development tools: compilers, linters, IDE. We'll talk about it exemplifying with design of a static analyzer.
The talk covers classification and various kinds of data flow analysis, neighbouring technologies supporting each other, obstacles arising during development, surprises from C++ language when one tries to analyze the code.
In this talk, some errors, detected in real projects using this technology, are shown in detail.

Презентация

Павел Беликов

Архитектор, PVS-Studio, Тула, Россия

Архитектор в команде PVS-Studio. Заведует кухней внутри ядра статического анализатора. Колдует над версиями для Linux и macOS. Но не гнушается и Visual Studio (по работе если надо).

Посмотрите видео доклада