Методы работы и история возникновения анализатора кода PVS-Studio (реклама)

17 января 2017 года

Компания СиПроВер подготовила несколько статей, рассказывающих о внутреннем устройстве и истории создания статического анализатора PVS-Studio, позволяющего автоматизировать выявление ошибок в коде на языках C, C++ и C#.

В первой статье "Как PVS-Studio ищет ошибки: методики и технологии" приводится обзор технологий, используемых для поиска ошибок и уязвимостей в коде. Показано, как та или иная технология позволяет выявлять ошибки в программах. Проверка кода выполняется с использованием графа потока управления (control flow graph) и дерева разбора, для построения которого используется собственный парсер. Для языков C и C++ анализатор выполняет около 340 диагностик, для C# - 120. В будущем не исключается появление поддержки Objective-C или Java.

Для определения ошибок применяются такие технологии, как анализ на основе сопоставления с типовыми шаблонами ошибочного кода; вычисление полной информации о типах всех переменных и выражений на основе семантической модели; аннотирование методов для получения расширенной информации об используемых методах; проверка диапазонов и переполнений через определение значений переменных при помощи механизма символьного выполнения; анализ потока данных для вычисления ограничений значений переменных при обработке различных конструкций языка. В качестве тестового полигона при разработке PVS-Studio осуществляется проверка кода различных открытых проектов. На данный момент проверено около 270 открытых проектов, в которых выявлено более 10 тысяч ошибок.

Во второй статье "Как 10 лет назад начинался проект PVS-Studio" подводятся промежуточные итоги в развитии анализатора PVS-Studio и рассказывается о том как начинался и развивался проект. В настоящее время в компании СиПроВер, разрабатывающей PVS-Studio, работает 24 человека, разработка ведётся в городе Тула.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Методы работы и история возникновения анализатора кода PVS-Studio (реклама)», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.