Вебинар: Использование статических анализаторов кода при разработке безопасного ПО - 19.12
Для изучения статических анализаторов кода и приобретения практических навыков их использования, наша команда предлагает бесплатно воспользоваться инструментом 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: https://pvs-studio.com
Введите в терминал команду:
pvs-studio-analyzer credentials PVS-Studio Free FREE-FREE-FREE-FREE
В начало каждого файла внесите:
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
Введите в терминал команду:
pvs-studio-analyzer credentials PVS-Studio Free FREE-FREE-FREE-FREE
В начало каждого файла внесите:
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
Есть три способа бесплатного использования 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: https://pvs-studio.com
Чтобы начать бесплатно использовать статический анализатор PVS-Studio, следует выполнить два следующих шага:
Шаг 1. Если вы используете PVS-Studio как плагин к Visual Studio или используете утилиту "C and C++ Compiler Monitoring UI" (Standalone.exe), то введите следующий лицензионный ключ:
Name: PVS-Studio Free
Key: FREE-FREE-FREE-FREE
Если Вы используете PVS-Studio for Linux/macOS, то воспользуйтесь командой:
pvs-studio-analyzer credentials PVS-Studio Free FREE-FREE-FREE-FREE
Примечание. Ранее для активации бесплатной лицензии для Linux-версии было достаточно только комментария. Теперь требуется вводить и этот специальный ключ, так как без него некоторые сценарии использования анализатора оказались неудобными. Подробнее.
Шаг 2. Вы должны вписать в начало каждого файла две строки с комментарием. Внесите правки во все компилируемые файлы вашего проекта. Имеются в виду файлы с расширениями c, cc, cpp, cs, java и так далее. Заголовочные h-файлы менять не требуется.
Вы можете добавлять комментарии как вручную, так и воспользоваться для этого вспомогательной утилитой. Скачать утилиту (вместе с исходным кодом) можно здесь: how-to-use-pvs-studio-free.
Более подробно этот вариант бесплатного использования описан в статье "Преподавателям на заметку: PVS-Studio для знакомства студентов с инструментами анализа кода".
Выполнять лабораторные работы, состоящие из одного файла, может оказаться удобно с помощью сайта Compiler Explorer (godbolt.org). Сайт в online режиме позволяет писать, компилировать и запускать программы на языках Ada, C, C++, D, Fortran, Go, Pascal, Rust и так далее. Особенно удобно, что можно сгенерировать ссылку на получившийся код и отправить его на проверку.
Если программа разрабатывается на языке C и C++, то дополнительно её можно сразу проверять с помощью PVS-Studio и знакомиться на практике с работой статического анализатора кода.
Предположим, что выполняется лабораторная работа, посвященная изучению циклов в языке C++ и нужно написать программу сортировки массива. Выполним эту задачу с ошибкой и посмотрим, как работает связка Compiler Explorer + PVS-Studio:
Перед вами лабораторная работа с ошибкой:
Кажется, что программа написана корректно, так как массив выглядит отсортированным правильно. Но это везение. На самом деле, происходит выход за границу массива, о чём предупреждает анализатор PVS-Studio. Взглянем на условие внутреннего цикла:
j < size + 1
На само деле должно быть:
j < size
Исправим это ошибку и можем отправить на проверку ссылку: правильная лабораторная работа.
Если ведётся совместная работа над открытым академическим проектом, то разработчики могут получить бесплатные лицензии. Более подробную информацию вы сможете найти в статье "Бесплатные варианты лицензирования PVS-Studio".
Все описанные здесь способы бесплатного использования PVS-Studio не являются способом попробовать инструмент для анализа коммерческого проекта. Это будет просто невозможно или, как минимум, неудобно.
Запросите триальный ключ, указав корпоративную почту. Это поможет нам понять, общались ли мы уже с кем-то из ваших коллег, является/была ли ваша компания клиентом и так далее. В случае необходимости мы проконсультируем вас по вопросам работы анализатора или предоставим Enterprise License, если вы захотите интегрировать PVS-Studio, например, с SonarQube.