Методы работы и история возникновения анализатора кода PVS-Studio (реклама)
В первой статье "Как 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 человека, разработка ведётся в городе Тула.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45872
|
0 | Tweet | Нравится |
|