The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

17.01.2017 20:24

Компания СиПроВер подготовила несколько статей, рассказывающих о внутреннем устройстве и истории создания статического анализатора 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 человека, разработка ведётся в городе Тула.

  1. Главная ссылка к новости (http://www.viva64.com/ru/b/046...)
  2. OpenNews: PVS-Studio доступен для бесплатного использования открытыми проектами (реклама)
  3. OpenNews: Отчёт о разработке Linux-версии PVS-Studio и результаты проверки LLVM (реклама)
  4. OpenNews: Статический анализатор PVS-Studio доступен для Linux (реклама)
  5. OpenNews: Анализатор PVS-Studio помог выявить 10000 ошибок в различных открытых проектах (реклама)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45872-pvs-studio
Ключевые слова: pvs-studio
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Анонимъ (?), 20:37, 17/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +30 +/
    А где доказательства, что этот ваш PVS-Studio сам не нашпигован ошибками? Кто-то проверял его независимыми OpenSource-анализаторами? Иначе какой толк в программе с закрытыми исходниками, мало ли чего она там найдет?
     
     
  • 2.4, Michael Shikimorin (?), 20:41, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • –19 +/
    мало ли чего она там найдет?
    Всмысле? Она тебе пишет что нашла - а дальше ты сам смотришь что да как.
     
  • 2.8, Andrey_Karpov (ok), 21:30, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • –20 +/
    Мы очень тщательно подходим к тестированию. В статье "Как PVS-Studio ищет ошибки: методики и технологии" есть глава "Тестирование PVS-Studio". Например, мы регулярно проверяем наш продукт с помощью анализатора Clang.
     
  • 2.29, Аноним (-), 12:37, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –23 +/
    Вас только ошибки беспокоят? Нынче модны кружевные зонтики и калитки на заднем дворе.
     
  • 2.32, Анонимъ (?), 13:21, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • +23 +/
    Крутняк, вам там таск поставили чтоль целой командой меня минусовать? :D
     
     
  • 3.40, Andrey_Karpov (ok), 17:27, 21/01/2017 [^] [^^] [^^^] [ответить]  
  • –22 +/
    > Крутняк, вам там таск поставили чтоль целой командой меня минусовать? :D

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

     
     
  • 4.45, Анонимс (?), 23:21, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +20 +/
    > Видимо людям не понравился странный и бессмысленный вопрос

    Следуя вашей логике, отношение к вашему изделию мягко говоря аналогичное.

     

  • 1.11, Аноним (-), 22:07, 17/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –22 +/
    > дерева разбора, для построения которого используется собственный парсер.

    что означает появление очередного диалекта C. код который для них без багов - у других будет с ошибками и наоборот.

     
     
  • 2.41, Andrey_Karpov (ok), 17:29, 21/01/2017 [^] [^^] [^^^] [ответить]  
  • –22 +/
    >> дерева разбора, для построения которого используется собственный парсер.
    > что означает появление очередного диалекта C. код который для них без багов
    > - у других будет с ошибками и наоборот.

    Всё смеалось, кони, люди... Не понимаю, причем здесь новый диалект C. Собственный парсер C/C++ кода нам удобно позволяет поддерживать одновременно несколько компиляторов, у каждого есть свои недокументированные особенности.

     

  • 1.12, тоже Аноним (ok), 22:29, 17/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +19 +/
    > и дерева разбора, для построения которого используется собственный парсер

    На xkcd еще нет картинки с блок-схемой, испещренной квадратиками с надписью "MAGIC"? Надо рисовать...

     
     
  • 2.13, Michael Shigorin (ok), 22:56, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • –24 +/
    >> и дерева разбора, для построения которого используется собственный парсер
    > На xkcd еще нет картинки с блок-схемой, испещренной квадратиками с надписью "MAGIC"?

    За неимением гербовой libcparser... :]

    > Надо рисовать...

     
  • 2.14, Аноним (-), 23:00, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • –22 +/
    Нарисуй, сделаем вид, что это смешно.
     

  • 1.16, iPony (?), 05:49, 18/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –20 +/
    Годно, нужно.
    Наряду с самоварами и пряниками, у Тулы появился еще один повод для гордости.
     
     
  • 2.22, anonimous (?), 10:34, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –21 +/
    > Наряду с самоварами и пряниками

    Ценность примерно такая же.

     
     
  • 3.25, kai3341 (ok), 11:47, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –21 +/
    Haters gonna hate
     

  • 1.27, Аноним (-), 12:32, 18/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +24 +/
    PVS-Studio наконец стала OpenSource? Или опять тупо реклама?
     
     
  • 2.31, J.L. (?), 12:45, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –22 +/
    > PVS-Studio наконец стала OpenSource? Или опять тупо реклама?

    не тупо, а вполне годная реклама, если бы такой был заполнен телевизор - я б его вероятно и смотрел бы

     
  • 2.33, Аноним (-), 14:09, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –21 +/
    А чем плоха реклама? Проект нужный, реклама конкретная и по делу, а opennet ты не донатишь на поддержание хоста.
     
     
  • 3.44, Анонимс (?), 10:47, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +19 +/
    Тем что она реклама! Проект фуфлыжный, байка про голодающих админов и поддержках хоста так смешна что даже грустно.
     

  • 1.35, Илья (??), 19:31, 18/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +23 +/
    цены у него конские. можно за такие деньги разработчика нанять, который способен ошибки бизнесс логики находить.
     
     
  • 2.37, J.L. (?), 11:06, 19/01/2017 [^] [^^] [^^^] [ответить]  
  • –23 +/
    > цены у него конские. можно за такие деньги разработчика нанять, который способен
    > ошибки бизнесс логики находить.

    цену не смотрел, но отвечаю что разработчик соло не осилит
    одно без другого - большое проседание способности поиска ошибок

     

  • 1.39, Аноним (-), 02:58, 21/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +22 +/
    А почему у Вас цены конские?
     
     
  • 2.42, Andrey_Karpov (ok), 17:31, 21/01/2017 [^] [^^] [^^^] [ответить]  
  • –23 +/
    > А почему у Вас цены конские?

    Ну какие-же они конские. Обыкновенные цены, даже ниже чем у конкурентов, таких как Coverity или Klocwork.

     

  • 1.43, Аноним (-), 23:52, 23/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +25 +/
    Любая проприетарщина, она всегда проприетарщина, особенно если она позиционируется с наилучшими намерениями.
     
  • 1.46, Дядя Гриша (?), 11:39, 27/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    > несколько статей, рассказывающих о внутреннем устройстве и истории создания

    Как же коммерсанты обожают про себя любимого таким самовлюблённым пафосом всюду выпостиваться, смешно на них и противно!

     
  • 1.47, Andrey_Karpov (ok), 21:07, 27/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –20 +/
    Сделал обзорную презентацию о том, что представляет PVS-Studio на начало 2017 года. Можно быстро узнать, какие возможности предоставляет анализатор: http://www.slideshare.net/Andrey_Karpov/pvsstudio-windowslinux-ccc
     
     
  • 2.48, Аноним (-), 18:40, 29/01/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Мне вот интересно, вам за подобное хорошо платят?
     
     
  • 3.49, Аноним (-), 21:14, 29/01/2017 [^] [^^] [^^^] [ответить]  
  • +15 +/
    > Мне вот интересно, вам за подобное хорошо платят?

    Он основатель и один из владельцев бизнеса.

     

  • 1.50, Аноним (-), 13:12, 31/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    > проверено около 270 открытых проектов, в которых выявлено более

    А по закрытым проектам статистика есть? Закрытые проверятели делятся инфой?

     
     
  • 2.53, Аноним (-), 22:29, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Закрытый закрытого закрыл?
     
     
  • 3.54, Аноним (-), 11:11, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    )))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру