QEMU – достаточно известное приложение для эмуляции. Статический анализ может помочь разработчикам таких сложных проектов, как QEMU, отлавливать ошибки на раннем этапе и в целом повысить его качество и надёжность. В этой статье будет проверен исходный код приложения QEMU на потенциальные уязвимости и ошибки с помощью инструмента статического анализа PVS-Studio.
Читать →
PVS-Studio, изначально разрабатываемый как универсальный инструмент поиска ошибок в программном коде, постепенно стал ориентироваться на обеспечение безопасности и защищённости приложений, на выявление потенциальных уязвимостей нулевого дня. Этому способствовала поддержка стандартов CERT и MISRA, классификация предупреждений анализатора в соответствии со стандартом CWE, развитие механизмов анализа потока данных для поиска недостоверных данных (taint checking) и так далее.
Читать →
Развитие анализатора PVS-Studio ускоряется, и, скорее всего, теперь каждый релиз мы будем сопровождать текстом, чтобы пользователи не пропустили изменения, которые могут быть им полезны. Что интересно, теперь мы не перечисляем всё что добавилось или улучшилось. Скорее, теперь наоборот стоит задача выделить в новости самое главное, чтобы текст не превращался в скучный список изменений. Итак, вашему вниманию предлагается пресс-релиз для PVS-Studio версии 7.09.
Читать →
XMage - клиент-серверное приложение для игры в Magic: The Gathering (MTG). XMage начал развиваться еще в начале 2010 года. За это время было выпущено 182 релиза, набралась целая армия контрибьюторов, и проект до сих пор активно развивается. Отличный повод поучаствовать и нам в его развитии! Поэтому сегодня единорог из PVS-Studio проверит кодовую базу XMage, и кто знает, может и схлестнется с кем-нибудь в бою.
Читать →
Нам предложили проверить с помощью анализатора PVS-Studio коллекцию открытых библиотек PMDK, предназначенную для разработки и отладки приложений с поддержкой энергонезависимой памяти. Собственно, почему бы и нет. Тем более это небольшой проект на языке C и C++ с общим размером кодовой базы около 170 KLOC, если не считать комментарии. А значит, обзор результатов анализа не займёт много сил и времени. Let's go.
Читать →
Некоторые люди удивляются, почему наш сайт имеет имя Viva64, продукт называется PVS-Studio, а компания "СиПроВер". Действительно всё это странно, и пришло время наводить порядок. Переименование компании станет первым шагом. Наверняка многим интересно, как получились такие разнообразные названия. Короткое объяснение: так исторически сложилось. А более подробная история будет рассказана в этой статье.
Читать →
Данная статья посвящена проверке проекта OpenRA с помощью статического анализатора PVS-Studio. Что такое OpenRA? Это игровой движок с открытым исходным кодом, предназначенный для создания стратегий в реальном времени. В статье рассказывается о том, как проводился анализ, какие особенности самого проекта были обнаружены и какие интересные срабатывания выдал PVS-Studio. Ну и, конечно же, здесь будут рассмотрены некоторые особенности анализатора, которые позволили сделать процесс проверки проекта более комфортным.
Читать →
Устав от нескончаемого code review или отладки, временами задумываешься, как бы упростить себе жизнь. И немного поискав, ну или случайно наткнувшись, можно увидеть волшебное словосочетание: "Статический анализ". Давайте посмотрим, что это такое и как он может взаимодействовать с вашим проектом.
Читать →
Для разнообразия сегодня немного расскажем про процесс разработки и доработки диагностических правил для PVS-Studio Java. Посмотрим, почему старые срабатывания анализатора не слишком сильно плавают от релиза к релизу, а новые – не слишком сумасшедшие. А ещё немного заспойлерим "чего там у джавистов в планах" и покажем парочку красивых (и не очень) ошибок, найденных с помощью диагностик из следующего релиза.
Читать →
Статический анализ кода показывает наибольшую эффективность во время внесения изменений в проект, поскольку ошибки всегда сложнее исправлять в будущем, чем не допустить их появления на ранних этапах. Мы продолжаем расширять варианты использования PVS-Studio в системах непрерывной разработки и покажем, как настроить анализ pull request-ов при помощи self-hosted агентов в Microsoft Azure DevOps, на примере игры Minetest.
Читать →