Компания СиПроВер подготовила несколько статей, рассказывающих о внутреннем устройстве и истории создания статического анализатора PVS-Studio (http://www.viva64.com/ru/pvs-studio/), позволяющего автоматизировать выявление ошибок в коде на языках C, C++ и C#.
В первой статье "Как PVS-Studio ищет ошибки: методики и технологии (http://www.viva64.com/ru/b/0466/)" приводится обзор технологий, используемых для поиска ошибок и уязвимостей в коде. Показано, как та или иная технология позволяет выявлять ошибки в программах. Проверка кода выполняется с использованием графа потока управления (control flow graph) и дерева разбора (http://www.viva64.com/ru/t/0039/), для построения которого используется собственный парсер. Для языков C и C++ анализатор выполняет около 340 диагностик, для C# - 120. В будущем не исключается появление поддержки Objective-C или Java.
Для определения ошибок применяются такие технологии, как анализ на основе сопоставления с типовыми шаблонами ошибочного кода; вычисление полной информации о типах всех переменных и выражений на основе семантической модели; аннотирование методов для получения расширенной информации об используемых методах; проверка диапазонов и переполнений через определение значений переменных при помощи механизма символьного выполнения; анализ потока данных для вычисления ограничений значений переменных при обработке различных конструкций языка. В качестве тестового полигона при разработке PVS-Studio осуществляется проверка кода различных открытых проектов. На данный момент проверено около 270 открытых проектов (http://www.viva64.com/ru/inspections/), в которых выявлено более 10 тысяч ошибок (http://www.viva64.com/ru/examples/).Во второй статье "Как 10 лет назад начинался проект PVS-Studio (http://www.viva64.com/ru/b/0465/)" подводятся промежуточные итоги в развитии анализатора PVS-Studio и рассказывается о том как начинался и развивался проект. В настоящее время в компании СиПроВер, разрабатывающей PVS-Studio, работает 24 человека, разработка ведётся в городе Тула.
URL: http://www.viva64.com/ru/b/0466/
Новость: http://www.opennet.me/opennews/art.shtml?num=45872
А где доказательства, что этот ваш PVS-Studio сам не нашпигован ошибками? Кто-то проверял его независимыми OpenSource-анализаторами? Иначе какой толк в программе с закрытыми исходниками, мало ли чего она там найдет?
мало ли чего она там найдет?
Всмысле? Она тебе пишет что нашла - а дальше ты сам смотришь что да как.
Мы очень тщательно подходим к тестированию. В статье "Как PVS-Studio ищет ошибки: методики и технологии" есть глава "Тестирование PVS-Studio". Например, мы регулярно проверяем наш продукт с помощью анализатора Clang.
Вас только ошибки беспокоят? Нынче модны кружевные зонтики и калитки на заднем дворе.
Крутняк, вам там таск поставили чтоль целой командой меня минусовать? :D
> Крутняк, вам там таск поставили чтоль целой командой меня минусовать? :DВидимо людям не понравился странный и бессмысленный вопрос. Наличие ошибок в PVS-Studio в худшем случае приведёт к тому, что он не обнаружит какие-то ошибки в вашем коде. Неприятно, но не критично. В конце концов без PVS-Studio они всё равно там есть. Сам же анализатор изменения в код не вносит, а только предлагает обратить программисту внимания на определённые места и исправить их при необходимости.
> Видимо людям не понравился странный и бессмысленный вопросСледуя вашей логике, отношение к вашему изделию мягко говоря аналогичное.
> дерева разбора, для построения которого используется собственный парсер.что означает появление очередного диалекта C. код который для них без багов - у других будет с ошибками и наоборот.
>> дерева разбора, для построения которого используется собственный парсер.
> что означает появление очередного диалекта C. код который для них без багов
> - у других будет с ошибками и наоборот.Всё смеалось, кони, люди... Не понимаю, причем здесь новый диалект C. Собственный парсер C/C++ кода нам удобно позволяет поддерживать одновременно несколько компиляторов, у каждого есть свои недокументированные особенности.
> и дерева разбора, для построения которого используется собственный парсерНа xkcd еще нет картинки с блок-схемой, испещренной квадратиками с надписью "MAGIC"? Надо рисовать...
>> и дерева разбора, для построения которого используется собственный парсер
> На xkcd еще нет картинки с блок-схемой, испещренной квадратиками с надписью "MAGIC"?За неимением гербовой libcparser... :]
> Надо рисовать...
Нарисуй, сделаем вид, что это смешно.
Годно, нужно.
Наряду с самоварами и пряниками, у Тулы появился еще один повод для гордости.
> Наряду с самоварами и пряникамиЦенность примерно такая же.
Haters gonna hate
PVS-Studio наконец стала OpenSource? Или опять тупо реклама?
> PVS-Studio наконец стала OpenSource? Или опять тупо реклама?не тупо, а вполне годная реклама, если бы такой был заполнен телевизор - я б его вероятно и смотрел бы
А чем плоха реклама? Проект нужный, реклама конкретная и по делу, а opennet ты не донатишь на поддержание хоста.
Тем что она реклама! Проект фуфлыжный, байка про голодающих админов и поддержках хоста так смешна что даже грустно.
цены у него конские. можно за такие деньги разработчика нанять, который способен ошибки бизнесс логики находить.
> цены у него конские. можно за такие деньги разработчика нанять, который способен
> ошибки бизнесс логики находить.цену не смотрел, но отвечаю что разработчик соло не осилит
одно без другого - большое проседание способности поиска ошибок
А почему у Вас цены конские?
> А почему у Вас цены конские?Ну какие-же они конские. Обыкновенные цены, даже ниже чем у конкурентов, таких как Coverity или Klocwork.
Любая проприетарщина, она всегда проприетарщина, особенно если она позиционируется с наилучшими намерениями.
> несколько статей, рассказывающих о внутреннем устройстве и истории созданияКак же коммерсанты обожают про себя любимого таким самовлюблённым пафосом всюду выпостиваться, смешно на них и противно!
Сделал обзорную презентацию о том, что представляет PVS-Studio на начало 2017 года. Можно быстро узнать, какие возможности предоставляет анализатор: http://www.slideshare.net/Andrey_Karpov/pvsstudio-windowslin...
Мне вот интересно, вам за подобное хорошо платят?
> Мне вот интересно, вам за подобное хорошо платят?Он основатель и один из владельцев бизнеса.
> проверено около 270 открытых проектов, в которых выявлено болееА по закрытым проектам статистика есть? Закрытые проверятели делятся инфой?
Закрытый закрытого закрыл?
)))