Как потратить 10 лет на разработку анализатора кода

Евгений Рыжков, Андрей Карпов

Андрей Карпов

Технический директор компании ООО «Системы программной верификации», к.ф.-м.н.. Имеет практический опыт разработки ресурсоемких параллельных приложений в области численного моделирования газодинамических процессов и визуализации больших объемов данных. На данный момент занят в создании специализированного статического анализатора кода PVS-Studio, предназначенного для создания эффективных ресурсоемких приложений. Является автором множества статей, посвященных вопросам написания безопасного 64-битного и параллельного кода на языке Си++. MVP в категории Visual C++.

Евгений Рыжков

Генеральный директор, PVS-Studio В 2008 году основал и возглавил компанию ООО “СиПроВер”, занимающуюся разработкой анализатора кода PVS-Studio. В 2009 году защитил кандидатскую диссертацию на тему “Статический анализ кода для автоматизированного обнаружения ошибок при переносе программ на 64-битные платформы”. Автор статей по разработке программных систем и технологий анализа кода.


Кто-то верно подметил, что разработчики статических анализатора часто сталкиваются с "проблемой айсберга". Им сложно объяснить разработчикам, почему сложно написать и развивать статические анализаторы кода. Дело в том, что сторонние наблюдатели видят только вершину всего процесса, так как им доступен для изучения только простой интерфейс, который предоставляют анализаторы для взаимодействия с миром. Это ведь не графический редактор с сотнями кнопок и рычажков. В результате и возникает ощущение, что раз прост интерфейс взаимодействия, то и прост продукт. На самом деле статические анализаторы кода — это сложные программы, в которых живут и взаимодействуют разнообразнейшие методы поиска дефектов. В них реализуется множество экспертные системы, выдающие заключения о коде на основе как точных, так и эмпирических алгоритмах. В парном докладе, основатели анализатора PVS-Studio расскажут о том, как незаметно потратить 10 лет, чтобы написать хороший анализатор. Дьявол кроется в деталях!

Gold спонсоры

Silver спонсоры

Community спонсоры