PVS-Studio Free

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

PVS-Studio — это инструмент для выявления ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках С, C++, C# и Java. Работает в среде Windows, Linux и macOS.

PVS-Studio является платным B2B решением и используется большим количеством команд в различных компаниях. Список клиентов.

Рассмотрим варианты, когда анализатор PVS-Studio может использоваться бесплатно.

Открытые проекты


PVS-Studio может бесплатно использоваться разработчиками, участвующими в развитии открытых проектов, размещённых на GitHub или Bitbucket. Всем желающим мы выдаём бесплатную лицензию сроком на 1 год. Чтобы получить лицензию, необходимо:

  • Перейти на страницу: Бесплатная лицензия на PVS-Studio для Open Source
  • Ввести имя и e-mail, на который будет прислан лицензионный ключ;
  • Ввести ссылку на свой GitHub/Bitbucket профайл;
  • Отправить запрос на бесплатную лицензию.

По истечении срока действия лицензии, вы сможете тем же самым способом получить новый лицензионный ключ.

Ключ является индивидуальным и может быть использован только для проверки открытых проектов, опубликованных на GitHub/Bitbucket. Бесплатная лицензия не распространяется на зеркала проектов.

Дополнительные детали этого типа бесплатного лицензирования описаны в статье "Бесплатный PVS-Studio для тех, кто развивает открытые проекты".

Закрытые проекты


Существует много небольших закрытых проектов, развиваемых энтузиастами. Например, это игры, создаваемые инди-разработчииками, или проекты академической направленности.

Для этих проектов может подойти вариант бесплатного лицензирования, основанный на добавлении в код комментариев специального вида. Идея в том, что такие комментарии неприемлемы в больших корпоративных проектах, но программисты вполне могут добавлять их в свои индивидуальные проекты.

Вот эти комментарии:

Комментарии для студентов (академическая лицензия):

// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

Комментарии для индивидуальных разработчиков:

// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

Кстати, на самом деле данный вид бесплатной лицензии можно использовать не только в закрытых, но и в открытых проектах.

Комментарии для открытых бесплатных проектов:

// This is an open source non-commercial project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

Чтобы начать бесплатно использовать статический анализатор PVS-Studio, вы должны выполнить два следующих шага:

Шаг 1. Если вы используете PVS-Studio как плагин к Visual Studio или используете утилиту Standalone, то введите следующий лицензионный ключ:

Name: PVS-Studio Free

Key: FREE-FREE-FREE-FREE

Если Вы используете PVS-Studio for Linux, то сразу переходите ко второму шагу, файл с лицензией вам не понадобится.

Шаг 2. Внесите правки во все компилируемые файлы вашего проекта. Имеются в виду файлы с расширениями c, cc, cpp, cs, java и так далее. Заголовочные h-файлы менять не требуется.

Вы должны вписать в начало каждого файла две строки с комментарием. Если в вашем проекте много файлов, то вы можете воспользоваться вспомогательной утилитой. Вы должны будете указать ей, какой комментарий вставлять, и каталог с кодом. Затем утилита рекурсивно обойдет все файлы в папке и вложенных папках, добавляя в файлы с исходным кодом соответствующие комментарии. Скачать утилиту (вместе с исходным кодом) можно здесь: how-to-use-pvs-studio-free.

Дополнительные детали этого типа бесплатного лицензирования описаны в статье "Как использовать PVS-Studio бесплатно". Просим обязательно ознакомиться с этой статьёй, если вы решили выбрать рассмотренный вариант бесплатного использования.

Эксперты безопасности


Публичные эксперты в области безопасности, занимающиеся поиском уязвимостей, могут написать нам и получить бесплатную лицензию для анализатора PVS-Studio.

Желающие получить лицензию и поддержку, должны будут подтвердить, что они занимаются вопросами безопасности и ведут публичную деятельность, например, пишут статьи. Эти моменты будут уточнены в ходе переписки.

Подробнее: "Предоставляем анализатор PVS-Studio экспертам безопасности".

Microsoft MVP


Первыми, кому мы предложили бесплатные лицензии, стали Microsoft MVP. Ещё в 2011 году появилась публикация "Бесплатные лицензии на PVS-Studio для MVP". Мало кто уже помнит про это, но эта акция продолжает действовать.

Если вы являетесь Microsoft MVP, то напишите нам и укажите свой MVP-профиль на сайте Microsoft. Мы вышлем вам лицензию, которая позволяет использовать PVS-Studio в течение 12 месяцев без каких-либо ограничений, в том числе и для коммерческих целей. Затем лицензию можно будет продлить.

Заключение


Следует напомнить и про основной сценарий.

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

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



Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Andrey Karpov. Ways to Get a Free PVS-Studio License.

Комментарии (14)


  1. eldog
    12.03.2019 14:52
    +1

    Пробовали PVS Studio в нашей фирме (Бельгия), вся техническая команда очень впечатлилась, даже со временной лицензией, за первый проход, кучу багов нашли. Нам это было бы очень полезно, т.к. работаем с офшорными командами уровня medior и ниже, они горазды на ошибки именно того типа, которые хорошо ловит PVS. Но убедить менеджмент истратить цену дорогого автомобиля за 5 лет (они пятилетками считают) не удалось. Да, да, им говорили, что сэкономленное время старших разработчиков будет куда дороже.


    1. EvgeniyRyzhkov
      12.03.2019 14:56

      Мы специально для менеджеров сделали коротенькую страничку про ROI, которая ведет на чуть более подробную статью про ROI.

      Обычно ни один менеджер не может аргументированно отказаться от покупки после чтения этих двух заметочек. Безаргументированно может правда :-).

      P.S. Я дал ссылки на русские тексты (ибо Хабр), но на сайте можно переключить язык, или просто URL поменять и они станут на английском.

      P.P.S. Что-то дешевые у вас в Бельгии автомобили. У нас в РФ за цену лицензии можно только Весту купить новую :-(.


      1. eldog
        12.03.2019 15:07

        Год назад за 5 лет что-то вроде 60-70 тыс евро набегало.


        1. EvgeniyRyzhkov
          12.03.2019 15:13
          +1

          А, за пять лет — согласен. Посмотрите, пожалуйста, ссылки про ROI. Там все про это написано. С красивыми табличками даже.


          1. eldog
            12.03.2019 15:47

            Посмотрим. Сейчас я правда на другом месте, менее актуально.


        1. timdorohin
          12.03.2019 15:18

          За пять лет это зарплата одного миддла в 1.1k$/месяц.
          Если PVS будет экономить приблизительно столько у вас (считай на одного мидла на полную ставку разгребающего ошибки меньше будет), то непонятны возмущения менеджеров


  1. timdorohin
    12.03.2019 15:03

    У меня вопрос, его уже, кажется, задавали: а чего в списке профилей OSS-проектов нет того же GitLab?
    Политическое решение, малая пользовательская база или что-то еще?
    В принципе меня это мало касается, проекты мелкие и личные, я могу и комментами в файлах воспользоваться…


    1. EvgeniyRyzhkov
      12.03.2019 15:10

      Спроса нет…


      1. bano-notit
        12.03.2019 15:20

        Странно. Вообще на GL конечно не там уж и много открытых проектов хранится, по большей части личные проекты, которые там достаточно просто скрыть. Но для таких проектов у вас отдельная лицензия… Продуманно)


      1. timdorohin
        12.03.2019 15:28

        Жаль. GitHub теперь под M$, а у Bitbucket'а интерфейс — тормозящее УГ.
        Продукт ваш несколько раз испытывал, но я на C/C++ раз в пятилетку что-то делаю (недавно, правда, снова начал, заодно вопрос — есть ли предупреждения связанные с OpenMP и data-race?).


        1. EvgeniyRyzhkov
          12.03.2019 15:42

          > есть ли предупреждения связанные с OpenMP и data-race?).

          Вы не поверите… Были, но «спроса нет»:

          OpenMP support in PVS-Studio had been dropped after version 5.20.


          1. timdorohin
            12.03.2019 17:28

            Та шо ж такое!
            А вообще мне тут не очень понятно, анализатор по-идее за счет многофункциональности и должен выигрывать, т.е. чем больше аналитик — тем лучше. Или ядро уже несколько раз переписывали и непопулярные аналитики не адаптировали и бросили?


            1. EvgeniyRyzhkov
              12.03.2019 17:32

              OpenMP разивается. От OpenMP 2.0 до OpenMP 5.0 поменялось очень многое. И надо или это поддерживать, или отказаться. Мы выбрали «отказаться».


  1. nirom
    12.03.2019 16:06

    Ребят, вы реально крутые!