Обновить
286.38
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

Исследование качества кода Open XML SDK от Microsoft

Время на прочтение10 мин
Охват и читатели4.8K
image1.png

Моё знакомство с Open XML SDK началось с того, что мне понадобилась библиотека для создания документов Word с некоторой отчётностью. После работы с Word API более 7 лет, захотелось попробовать что-нибудь новое и более удобное. Так я узнал, что у Microsoft есть альтернативное решение. По традиции, используемые в компании программы и библиотеки мы предварительно проверяем с помощью анализатора PVS-Studio.
Читать дальше →

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

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

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

Единороги на страже вашей безопасности: исследуем код Bouncy Castle

Время на прочтение7 мин
Охват и читатели5.1K
image1.png

Хотите увидеть новую порцию ошибок, найденных статическим анализатором PVS-Studio для Java? Тогда присоединяйтесь к прочтению статьи! В этот раз объектом проверки стал проект Bouncy Castle. Самые интересные фрагменты кода, как обычно, ждут вас ниже.
Читать дальше →

Онлайн всемогущий

Время на прочтение7 мин
Охват и читатели1.3K

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

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

Читать далее

Хорошо ли вы помните nullable value types? Заглядываем «под капот»

Время на прочтение11 мин
Охват и читатели16K
image1.png

В последнее время модной темой стали nullable reference types. Однако старые добрые nullable value types никуда не делись и всё так же активно используются. Хорошо ли вы помните нюансы работы с ними? Предлагаю освежить или проверить свои знания, ознакомившись с этой статьёй. Примеры кода на C# и IL, обращения к спецификации CLI и коду CoreCLR прилагаются. Начать предлагаю с интересной задачки.
Читать дальше →

Проверка Clang 11 с помощью PVS-Studio

Время на прочтение11 мин
Охват и читатели4.4K
PVS-Studio: Всё ещё достоин!

Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начинают сомневаться, достоин ли анализатор PVS-Studio звания хорошего ловца багов и потенциальных уязвимостей. Возможно, новый компилятор уже умеет это делать? Да, компиляторы не стоят на месте. Однако развивается и PVS-Studio, вновь и вновь демонстрируя возможности находить ошибки даже в коде таких высококачественных проектов, как компиляторы.
Читать дальше →

Проверка коллекции header-only C++ библиотек (awesome-hpp)

Время на прочтение17 мин
Охват и читатели5.4K
PVS-Studio и Awesome hpp

Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем рады, если их авторы начнут бесплатно использовать анализатор PVS-Studio на регулярной основе.
Читать дальше →

Amnesia: The Dark Descent или как забыть поправить копипасту

Время на прочтение15 мин
Охват и читатели3.7K
image1.png

В преддверии выхода игры "Amnesia: Rebirth" издательство "Fractional Games" выложило в открытый доступ исходный код легендарной "Amnesia: The Dark Descent" и её продолжения "Amnesia: A Machine For Pigs". Почему бы и не посмотреть с помощью инструмента статического анализа, насколько страшные ошибки скрывает в себе нутро этих культовых хоррор-игр?
Читать дальше →

Анализ кода проекта DeepSpeech или почему не стоит писать в namespace std

Время на прочтение14 мин
Охват и читатели4.4K
DeepSpeech – это открытый и свободно распространяемый движок распознавания речи, разрабатываемый компанией Mozilla. Движок имеет довольно высокую производительность и хорошие отзывы пользователей, и это делает код проекта интересной мишенью для проверки. Данная статья посвящена разбору ошибок, найденных в C++-коде проекта DeepSpeech.

image1.png

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

Продолжение: обидно за мнения про статические анализаторы кода

Время на прочтение4 мин
Охват и читатели7.3K
image1.png

Планировалось, что, написав статью "Обидно за мнения про статические анализаторы кода", мы выговоримся и спокойно отпустим тему. Но неожиданно эта статья вызвала бурный отклик. К сожалению, обсуждение пошло не туда, и сейчас мы сделаем вторую попытку объяснить своё видение ситуации.
Читать дальше →

Из программиста в маркетологи

Время на прочтение6 мин
Охват и читатели4.4K
Бывает сидишь дома, кодишь и думаешь, а не глянуть ли краем глаза ютуб. И тут неожиданно для себя открываешь в рекомендациях туториалы по совершенно левой теме, вроде монтажа видео или иллюстраций. Казалось бы, причём тут я? Дело в том, что закоулки алгоритмов ютуба принесли мне в голову мысль: "Чем я вообще занимаюсь по жизни?". И я наполнился решимостью.

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

Разделение по тегам в нашем блоге

Время на прочтение3 мин
Охват и читатели843

Как вы знаете, наш блог постоянно пополняется контентом по программированию и различным интересным моментам, затрагивающим нашу компанию. Статьи становятся все более разнообразными, их число растёт, и теперь, чтобы найти материал по интересующей тематике, достаточно просто выбрать нужный тег. И... вуаля! Мы можем увидеть отфильтрованный список статей по нужному нам разделу.

Читать далее

Обидно за мнения про статические анализаторы кода

Время на прочтение2 мин
Охват и читатели11K
Инструменты статического анализа кода ушли далеко вперёд. Это вовсе не те "линтеры", которые активно применялись 20 лет тому назад. Однако многие по-прежнему относятся к ним как к очень простым инструментам. Обидно. Обидно как за методологию анализа кода в целом, так и за инструмент PVS-Studio.


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

Nullable Reference не защищают, и вот доказательства

Время на прочтение13 мин
Охват и читатели9.9K
image1.png

Хотели ли вы когда-нибудь избавиться от проблемы с разыменованием нулевых ссылок? Если да, то использование Nullable Reference типов — это не ваш выбор. Интересно почему? Об этом сегодня и пойдёт речь.
Читать дальше →

Проверка WildFly — сервера JavaEE приложений

Время на прочтение9 мин
Охват и читатели3.2K
image1.png

WildFly (ранее назывался JBoss Application Server) — это сервер JavaEE приложений с открытым исходным кодом, созданный компанией JBoss в феврале 2008 года. Основная цель проекта WildFly — предоставить набор инструментов, которые обычно необходимы корпоративным приложениям Java. А поскольку сервер используется для разработки корпоративных приложений, особенно важно минимизировать количество ошибок и возможных уязвимостей в коде. Сейчас WildFly разрабатывает крупная компания Red Hat, и качество кода проекта поддерживается на достаточно высоком уровне, однако анализатору всё равно удалось найти некоторое количество ошибок, допущенных в проекте.
Читать дальше →

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

Время на прочтение8 мин
Охват и читатели2.8K
PVS-Studio and Awesome header-only C++ libraries

Современные приложения строятся из сторонних библиотек как из кирпичиков. Это нормально и единственный вариант завершить проект за разумное время, потратив разумный бюджет. Тем не менее брать все кирпичи без разбора может оказаться не такой уж хорошей идеей. Если есть несколько вариантов, то полезно уделить время анализу открытых библиотек с целью выбрать наиболее качественную.
Читать дальше →

Почему обзоры кода — это хорошо, но недостаточно

Время на прочтение3 мин
Охват и читатели2.7K
image1.png

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

Проверка QEMU с помощью PVS-Studio

Время на прочтение15 мин
Охват и читатели4.6K
image1.png

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

Проверка кода XMage и почему недоступны специальные редкие карточки для коллекции Dragon's Maze

Время на прочтение13 мин
Охват и читатели2.7K
image1.png

XMage — клиент-серверное приложение для игры в Magic: The Gathering (MTG). XMage начал развиваться еще в начале 2010 года. За это время было выпущено 182 релиза, набралась целая армия контрибьюторов, и проект до сих пор активно развивается. Отличный повод поучаствовать и нам в его развитии! Поэтому сегодня единорог из PVS-Studio проверит кодовую базу XMage, и кто знает, может и схлестнется с кем-нибудь в бою.
Читать дальше →

Статический анализ кода коллекции библиотек PMDK от Intel и ошибки, которые не ошибки

Время на прочтение14 мин
Охват и читатели2.3K
PVS-Studio, PMDK

Нам предложили проверить с помощью анализатора PVS-Studio коллекцию открытых библиотек PMDK, предназначенную для разработки и отладки приложений с поддержкой энергонезависимой памяти. Собственно, почему бы и нет. Тем более это небольшой проект на языке C и C++ с общим размером кодовой базы около 170 KLOC, если не считать комментарии. А значит, обзор результатов анализа не займёт много сил и времени. Let's go.
Читать дальше →

Информация

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