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

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

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

Привлекательное название статьи должно раскрывать то, что будет в ней. Так вот, работа специалистом поддержки клиентов подразумевает появление вопросов к пользователю. Иногда возникает как раз такой: "Почему ты делаешь за меня мою работу?", — но он больше риторический.

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

Читать далее

Эволюция PVS-Studio: анализ потока данных для связанных переменных

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

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

Читать далее

Проверка Chromium спустя три года. Ну и как оно?

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

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


chromium_N7_ru/image2.png

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

Развитие инструментария С++ программистов: статические анализаторы кода

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

Развитие инструментария С++ программистов: статические анализаторы кода
Размер современных приложений и сложность языка C++ превышают возможности людей по всестороннему анализу текста программ на обзорах кода. Компенсационная методология – статический анализ кода.

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

Создание статического анализатора для C# на основе Roslyn API

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

После прочтения этой статьи вы будете обладать знаниями для создания своего собственного статического анализатора для C# кода, благодаря ему вы сможете найти потенциальные ошибки и уязвимости в исходном коде своих и не только проектов. Заинтригованы? Что ж, давайте начнём.

Читать далее

Использование оператора '?.' в foreach: защита от NullReferenceException, которая не работает

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

0832_foreach_ConditionalAccess_ru/image1.png
Любите оператор '?.'? А кто же не любит? Эти лаконичные проверки на null нравятся многим. Однако сегодня мы поговорим о случае, когда оператор '?.' только создаёт иллюзию безопасности. Речь пойдёт о его использовании в цикле foreach.

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

PVS-Studio вступает в битву с захардкоженными паролями

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

PVS-Studio – статический анализатор, позволяющий обнаружить множество проблем, скрытых в исходном коде. Среди них также присутствуют ошибки, связанные с безопасностью приложений. К примеру, недавно анализатор научился определять наличие в коде конфиденциальных данных, таких как пароли. Данная потенциальная уязвимость находится в списке OWASP Top Ten и является куда более опасной, чем может показаться на первый взгляд. В чём же эта опасность состоит и как статический анализатор может от неё уберечь? Что ж, об этом (и не только) и написана данная заметка!

Читать далее

Исследование COVID-19 и неинициализированная переменная

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

0796_covid_sim_ru/image1.png


Существует открытый проект COVID-19 CovidSim Model, написанный на языке C++. Существует статический анализатор кода PVS-Studio, который умеет хорошо находить ошибки. Однажды они встретились. Познайте хрупкость алгоритмов математического моделирования и почему нужно прикладывать максимум усилий к качеству программного кода.

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

Chromium: использование недостоверных данных

Время на прочтение10 мин
Количество просмотров3.7K
PVS-Studio, Common Weakness EnumerationПредлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной.

На самом деле, причиной уязвимости может стать ошибка почти любого типа, даже обыкновенная опечатка. Собственно, если найденная ошибка классифицируется согласно Common Weakness Enumeration, то значит она является потенциальной уязвимостью.

Анализатор PVS-Studio, начиная с версии 6.21, научился классифицировать найденные ошибки согласно Common Weakness Enumeration и назначать им соответствующий CWE ID.
Читать дальше →

Как перешагнуть через legacy и начать использовать статический анализ кода

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


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

Как делался новый дизайн сайта viva64.com разработчиков анализатора кода PVS-Studio

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

10 лет сайту viva64.com!


Сайту viva64.com — основной площадке разработчиков анализатора кода PVS-Studio исполнилось 10 лет! Домен был зарегистрирован 09.11.2006 года, а последнее серьезное обновление дизайна было выполнено в декабре 2010 года. Пришло время что-то поменять.
Читать дальше →

Настоящая правда о сравнении CodeSonar и PC-lint

Время на прочтение14 мин
Количество просмотров6K
Сразу хочу обратить внимание читателей, что эта статья является переводом и я, как разработчик конкурирующего продукта PVS-Studio, воздержусь от собственных оценок ситуации.

Будучи общепризнанными лидерами и вдохновителями индустрии статического анализа, мы (Gimpel Software) польщены тем, что другие компании ориентируются на наш продукт как на эталон качества при разработке своих инструментов. Обычно мы не считаем нужным как-либо реагировать на публикации о результатах сравнений нашего анализатора с другими продуктами, однако «экспертный отчет», выпущенный компанией Grammatech и посвященный сравнению инструментов CodeSonar и PC-lint, оказался крайне неприятным исключением. Вместо того чтобы сосредоточиться на достоинствах своего продукта, авторы этого документа прибегли к ложным заявлениям в адрес PC-lint и искажению фактов относительно его технических возможностей, что, вероятно, явилось следствием давления со стороны рынка, и мы считаем своим долгом ответить на эту ложь, рассказав о реальном положении дел.
Читать дальше →

Linux-версия PVS-Studio устроила себе экскурсию по Disney

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


Недавно вышла в свет Linux-версия анализатора PVS-Studio. С ее помощью был проверен ряд проектов с открытым исходным кодом. Среди них Chromium, GCC, LLVM (Clang) и другие. И сегодня к этому списку присоединятся проекты, которые были разработаны Walt Disney Animation Studios для сообщества специалистов по созданию виртуальной реальности. Давайте приступим к рассмотрению найденных предупреждений анализатора.
Читать дальше →

PVS-Studio покоряет Интернет

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


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

Ищем и анализируем ошибки в коде GitExtensions

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


Как изестно Ядро Git представляет собой набор утилит командной строки с параметрами. Для комфортной работы как правило используются утилиты, дающие нам привычный графический интерфейс. Вот и мне довелось в свое время поработать с такой утилитой для Git, как GitExtensions. Не скажу, что это самый удобный инструмент, которым мне доводилось пользоваться (к примеру, тот же TortoiseGit мне нравится больше), но он явно и не безосновательно занимает свою нишу в списке любимых и проверенных утилит для работы с Git.

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

Как не стоит преподносить результаты работы статического анализатора

Время на прочтение5 мин
Количество просмотров10K
На просторах сети расположен блог "No Marketing Bullshit". Неизвестный автор блога по всей видимости является одни из наших поклонников, о чем свидетельствует пара заметок на тему анализатора кода PVS-Studio. Я решил перевести одну из этих заметок. На всякий случай отмечу, что мы никакого отношения к этому блогу не имеем. Это не наш стиль. Если мы собираемся написать рекламную статью, то мы не маскируемся, а так и пишем — это рекламная статья.
Читать перевод

Проверяем исходный код Appleseed

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

Большинство проектов, описанные нами в статьях, содержат десятки предупреждений анализатора PVS-Studio. Конечно же это малая часть из отчёта анализатора, отобранная для статьи, но бывают проекты, где всех предупреждений не так много, и из них интересных «ляпов» для статьи не набирается. Обычно это маленькие или уже неразвивающиеся проекты. В этой статье я расскажу о проверке проекта Appleseed, где с точки зрения PVS-Studio код очень качественный.
Читать дальше →

Проверка операционной системы Haiku (семейство BeOS) c помощью PVS-Studio. Часть 2

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

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

Haiku — свободная операционная система для персональных компьютеров, которая нацелена на двоичную совместимость с операционной системой BeOS. Haiku воплощает в себе основные идеи BeOS. Это модульная система, архитектурно решённая как гибридное ядро: микроядерная архитектура, способная динамически подгружать необходимые модули.

Проект проверялся по просьбе сообщества пользователей Haiku с помощью PVS-Studio 5.24.

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

Проверка симулятора The Powder Toy

Время на прочтение6 мин
Количество просмотров16K
The Powder Toy является песочницей со свободной физикой, которая имитирует давление и скорость воздуха, тепла, тяжести и бесчисленное количество взаимодействий между различными веществами. Игра предоставляет различные строительные материалы, жидкости, газы и электронные компоненты, которые могут быть использованы для построения сложных машин, оружия, бомб, реалистичной местности и почти всего, что угодно. Вы можете просматривать и воспроизводить тысячи различных сделанных построек. Вот только в игре оказалось не всё так замечательно: для небольшого проекта размером в ~350 файлов было получено довольно много предупреждений статического анализатора. В этой статье будут описаны наиболее интересные места.
Читать дальше →

Пересечение PVS-Studio и Cppcheck

Время на прочтение2 мин
Количество просмотров4K
Неоднократно нам задавали вопрос, как сильно пересекаются диагностики нашего анализатора PVS-Studio и анализатора Cppcheck. Я решил написать маленькую статью на эту тему, чтобы быстро отвечать на этот вопрос. Если совсем коротко — то пересекаются слабо. Только 6% от общего количества ошибок находятся обоими анализаторами. В статье будет рассказано как было получено это число.
Читать дальше →

Информация

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