28
Автоматизация статического анализа кода
Роман Куликов, Сергей Концов

Проблема: Программисты пишут некачественный код…

Существует довольно большое количество статических анализаторов кода, которые находят в исходном коде явные и потенциальные ошибки. Плюс таких анализаторов в том, что код не надо выполнять, проблему можно найти, анализируя сам исходный код. То есть это дешевый способ нахождения ошибок. Другой плюс в том, что ошибки, найденные такими анализаторами, обычно приводят к проблемам в конечном продукте при определенных условиях  и поймать эти ошибки в процессе обычного тестирования практически невозможно.
Минус же в том, что анализаторы дают большое количество ложных срабатываний.
 

Описание

Для автоматического нахождения ошибок в программах существуют различные методы, один из них – статистический анализ исходного кода. Идея НИР состоит в том, чтобы понять, что это такое, сильные и слабые стороны, научиться использовать и автоматизировать.

Задачи

  • Анализ существующих анализаторов на предмет адекватности + возможности к автоматизации (исследование существующих анализаторов и их возможностей. Какие из них лучше подходят для target-языков, какие продуцируют меньшее количество false-positive срабатываний.)
  • Выбор нескольких анализаторов и проектов (open source) для сравнительного анализа
  • Написание скриптов для автоматизации анализа