Как стать автором
Поиск
Написать публикацию
Обновить
187.6
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

«Разработчики PVS-Studio, вы вообще слышали про Clang?», или сравнение PVS-Studio и Clang без кода

Время на прочтение4 мин
Количество просмотров9.8K
Довольно часто, когда мы пишем статьи про статический анализатор C++ кода PVS-Studio, нам задают один из следующих вопросов:
  1. А чем PVS-Studio лучше, чем Clang?
  2. А вот Clang бесплатный, а вы стоите денег – не понятно, почему?
  3. Clang лучше, туда легко можно добавить свои диагностики, ведь это open source!
  4. Вам пора закрываться, Clang вас раздавит, если не сейчас, то когда отладят версию под Windows.(ну это даже и не как вопрос сформулировано).
Пришло время обстоятельно ответить на эти вопросы.
Читать дальше →

Цикл вебинаров про разработку безопасного программного обеспечения (ГОСТ Р 56939-2024)

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.4K

Обычно я пишу про статический анализ, баги и оформление кода. Однако сейчас меня притянуло к тематике РБПО (разработка безопасного программного обеспечения). Это связано с тем, что статический анализ является одним из основополагающих процессов безопасной разработки.

Всё началось с цикла публикаций про ГОСТ Р 56939-2024 в моём Telegram-канале "Бестиарий программирования". Мой внимательный читатель Виталий Пиков из УЦ МАСКОМ, увидев это, пришёл и сказал: "А давай больше!" Он предложил запустить целый цикл совместных вебинаров, где последовательно разобрать все 25 процессов, описываемых в ГОСТ Р 56939-2024. И идея мне понравилась.

Читать далее

Инъекция блокнотом или история о том, как мы новые диагностики делали

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.3K

В этой статье я немного расскажу о том, как в Java осуществляется вызов команд уровня операционной системы. Также поговорим про OS Command и Argument Injections и про то, как мы делали диагностики, которые могут помочь в их обнаружении.

Читать далее

Рецепты для регулярного статического анализа кода

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.5K

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

Читать далее

Дайте два! Обновление плагина PVS-Studio для SonarQube

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров692

Плагин PVS-Studio для SonarQube работает уже долгое время, однако в последнем обновлении плагин превратился в два плагина. В этой заметке расскажем о том, почему это произошло, что изменилось, и как с этим жить.

Читать далее

Настраиваем статический анализ Unreal Engine проекта

Время на прочтение5 мин
Количество просмотров1.3K

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

Читать далее

Поиск ошибок в проектах на основе Unreal Engine

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.8K

Единорог Коди (PVS-Studio) коллекционирует баги, специфичные для Unreal Engine проектов


В статическом анализаторе PVS-Studio начали появляться диагностические правила для выявления багов, специфичных для Unreal Engine проектов. Однако без сообщества разработчиков игр здесь не обойтись. Напишите нам про типовые паттерны ошибок, поиск которых хотелось бы автоматизировать.


Анализатор PVS-Studio хорошо выявляет распространённые паттерны опечаток, логические ошибки, потенциальные уязвимости и многое другое. Теперь взор команд, разрабатывающих PVS-Studio, обратился в сторону Unreal Engine.

Читать дальше →

Под капотом SAST: как инструменты анализа кода ищут дефекты безопасности

Время на прочтение12 мин
Количество просмотров4.8K

_SAST_Under_The_Hood_ru/image1.png
Сегодня речь о том, как SAST-решения ищут дефекты безопасности. Расскажу, как разные подходы к поиску потенциальных уязвимостей дополняют друг друга, зачем нужен каждый из них и как теория ложится на практику.


Статья написана на основе доклада "Под капотом SAST: как инструменты анализа кода ищут дефекты безопасности" с TechLead Conf 2022. Содержимое адаптировано для читаемости: что-то сокращено, что-то модифицировано.
Читать дальше →

PVS-Studio 7.22: Visual Studio Code, Qt Creator, .NET 7

Время на прочтение3 мин
Количество просмотров1.9K

1016_Release_7_22_ru/image1.png


Вышел новый релиз PVS-Studio — 7.22. В него вошли плагины для Visual Studio Code и Qt Creator, поддержка анализа проектов на .NET 7, доработки механизма Best Warnings, новые диагностики и не только. Подробности описали в этой заметке.

Читать дальше →

Статический анализатор кода vs разработчики. Шо, опять?

Время на прочтение3 мин
Количество просмотров3.2K

В середине мая этого года мы опубликовали обновлённую версию нашего квиза для C++ разработчиков. Спустя 2 месяца мы решили рассказать о результатах.


0964_rezultaty_quiza_cpp_ru/image1-3f082de585be7198d831d7e418a82578.png

Читать дальше →

PVS-Studio 7.18: обновления и улучшения

Время на прочтение4 мин
Количество просмотров1.2K

0934_Release_7_18_ru/image1.png


Мы выпустили новый релиз PVS-Studio – 7.18. В этой заметке расскажем, как развиваем security-направление, зачем нужна новая система типов в C++ анализаторе, как улучшили анализ кода для embedded-систем и не только.

Читать дальше →

Проверка фреймворка Ogre3D статическим анализатором PVS-Studio

Время на прочтение14 мин
Количество просмотров2.4K

Обычные пользователи любят графические движки, потому что с ними удобно работать. Команда PVS-Studio любит графические движки, потому что там часто попадаются интересные фрагменты кода. По просьбе одного из читателей нашего блога в этой статье будут рассмотрены результаты анализа графического фреймворка Ogre3D. Каждому по интересному срабатыванию из проекта, и пусть никто не уйдёт обиженным!

Читать далее

PascalABC.NET, повторная проверка

Время на прочтение8 мин
Количество просмотров7.2K

Приветствуем всех любителей чистого кода. Сегодня у нас на разборе проект PascalABC.NET. Ранее мы уже искали ошибки в этом проекте при помощи сразу двух инструментов статического анализа, а именно плагинов для SonarQube: SonarC# и PVS-Studio. Этому была посвящена статья в далёком 2017 году. В этот раз мы решили ограничиться только C# анализатором PVS-Studio последней актуальной версии и посмотреть, какие новые ошибки можно найти в PascalABC.NET сегодня. Тем более что за это время наш анализатор стал гораздо более продвинутым и обзавелся новыми возможностями поиска ошибок и потенциальных уязвимостей в коде.


0912_PascalABCNET_2_ru/image1.png

Читать дальше →

Как PVS-Studio защищает от поспешных правок кода, пример N2

Время на прочтение2 мин
Количество просмотров1.9K

Ошибка в Blender, PVS-Studio
Большое количество ошибок программистами допускается просто по невнимательности или из-за спешки. Хорошо это видно на небольших неправильных изменениях, вносимых в код. Рассмотрим как раз такой случай, когда, исправляя одну ошибку, программист добавляет новую.

Читать дальше →

Третья проверка Umbraco статическим анализатором PVS-Studio

Время на прочтение9 мин
Количество просмотров1.3K

6 лет назад была написана первая статья про проверку проекта с помощью анализатора PVS-Studio для C#. Мы решили оглянуться назад и вновь вернуться туда, откуда всё начиналось – к анализу исходного кода Umbraco CMS.

Читать далее

Есть ли баги в маленьких проектах, или как PVS-Studio проверял Blend2D

Время на прочтение11 мин
Количество просмотров2.5K

Мы часто проверяем большие проекты, потому что в них проще найти ошибки. А что же PVS-Studio сможет найти в небольшом проекте? Мы взяли Blend2D – библиотеку для векторной 2D-графики – и проверили своим анализатором. Предлагаем ознакомиться с тем, что из этого вышло.


0894_Blend2d_ru/image1.png


Введение


Ни для кого не секрет, что в больших проектах всегда легче находить интересные ошибки. Это обусловлено не только простым рассуждением "больше кода – больше ошибок", но и тем, что с ростом кодовой базы растёт и плотность ошибок. Поэтому и проверять мы любим большие проекты, чтобы потом порадовать себя и читателя разнообразием "жирнющих" и заковыристых ошибок и опечаток. Да и в целом всегда интересно поковыряться в огромном проекте с кучей зависимостей, legacy и прочих вкусняшек.


В связи с этим наблюдением, я захотел отойти от нашей традиции брать большие проекты для статьи. Решил взять небольшой проект и посмотреть, что в нём сможет найти PVS-Studio. Мой выбор пал на Blend2D. Я проверил ветку master, коммит c484790.

Читать дальше →

Kanban команды PVS-Studio. Часть 2: YouTrack

Время на прочтение32 мин
Количество просмотров7.5K

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


0853_Kanban_YouTrack_ru/image1.png

Читать дальше →

Как в VSCode смотреть отчёты статических анализаторов, поддерживающих SARIF

Время на прочтение5 мин
Количество просмотров3.5K

В наше время люди всё чаще начинают оптимизировать работу по поиску ошибок в коде, используя статический анализатор. Результаты работы анализатора можно смотреть с помощью разнообразных продуктов. Однако сегодня мы поговорим про просмотр отчёта анализатора в самой стильной среди многофункциональных и самой многофункциональной среди стильных IDE – VSCode. Позволит же нам реализовать нашу задачу формат SARIF и специальный плагин для него. Обо всем этом далее — поехали.

Читать далее

Проверка BitTorrent в честь 20-летнего юбилея. Время == качество

Время на прочтение10 мин
Количество просмотров5.8K

Пару недель назад (а если быть точнее, то 2 июля 2021 года) исполнилось двадцать лет легендарному протоколу BitTorrent. Созданный Брэмом Коуэном (Bram Cohen) протокол с момента своего появления стремительно развивался и быстро стал одним из самых популярных способов для обмена файлами. Почему бы в честь этого не проверить парочку долгоживущих тематических проектов с помощью анализатора PVS-Studio для Linux?


0846_BitTorrent_ru/image1.png

Читать дальше →

Почему PVS-Studio не предлагает автоматические правки кода

Время на прочтение4 мин
Количество просмотров3.1K
Почему PVS-Studio не предлагает автоматические правки кода

Статический анализатор PVS-Studio обнаруживает достаточно сложные и хитрые фрагменты кода, содержащие ошибки. И как их исправить, не всегда понятно даже человеку, и сейчас мы рассмотрим пару примеров. Поэтому лучше вообще не генерировать никаких предположений по автоматическому исправлению кода.
Читать дальше →

Информация

Сайт
pvs-studio.ru
Дата регистрации
Дата основания
2008
Численность
51–100 человек
Местоположение
Россия
Представитель
Андрей Карпов