В этой небольшой подборке собраны разные источники информации, которые могут быть полезны C# / .NET разработчикам: блоги, репозитории с исходным кодом, стандарты и аккаунты разработчиков, рассказывающих о тонкостях как языка, так и платформы в целом.
Прокачка статического анализа проектов на Unreal Engine 4 и проверка автосимулятора Carla
Одним из механизмов статического анализа является аннотирование методов популярных библиотек. Аннотации позволяют обладать большей информацией при диагностировании ошибок в коде. Впечатляющий свободный проект на С++ CARLA помог нам внедрить этот механизм. Впоследствии симулятор стал целью для проверки улучшенным статанализатором PVS-Studio.
Проверяем эмулятор RPCS3 с помощью PVS-Studio
RPCS3 – интересный проект, который эмулирует консоль PS3. Он активно развивается: недавно была новость о том, что он научился запускать все игры из своего каталога. Это хороший повод для проверки – посмотрим, какие ошибки остались после исправлений.
PVS-Studio для JetBrains CLion: через тернии к звёздам

В PVS-Studio уже некоторое время есть плагины для таких IDE от JetBrains, как Rider, IntelliJ IDEA и Android Studio. Другую известную среду разработки, CLion, мы долгое время незаслуженно обходили стороной. Исправляемся! Но зачем вообще вам PVS-Studio, если в CLion уже есть анализ кода? Какие проблемы возникли при разработке? На эти вопросы мы ответим ниже.
Beta-тестирование плагина PVS-Studio для JetBrains CLion
Традиционно сложилось, что основной средой разработки для работы с анализатором PVS-Studio была среда Visual Studio от Microsoft. Наш анализатор начинал свой путь на Windows, поэтому выбор Visual Studio был вполне оправданным и очевидным. Тем не менее, более чем за 10 лет развития PVS-Studio анализатор стал доступен для нескольких других языков и платформ, поэтому вполне естественно, что в нашей поддержке всё больше людей спрашивают о возможности интеграции PVS-Studio с их любимой IDE.
Йо-хо-хо, и бутылка рому! Разбираем ошибки игрового движка Storm Engine

PVS-Studio – это инструмент статического анализа, позволяющий находить ошибки в исходном коде программ. В качестве знакомства с возможностями анализатора вашему вниманию предлагается результат проверки PVS-Studio исходного кода игрового движка Storm Engine.
Зачем PVS-Studio использует анализ потока данных: по мотивам интересной ошибки в Open Asset Import Library
Анализ потока данных является неотъемлемой частью любого современного статического анализатора кода. Однако, со стороны, не очень понятно, что это и главное – зачем нужно. До сих пор некоторые ассоциируют статический анализ с поиском чего-то в коде по определённому шаблону. Поэтому время от времени мы пишем заметки, в которых демонстрируем, как та или иная технология, используемая в анализаторе PVS-Studio, помогает выявить очередную интересную ошибку. Сегодня как раз такая статья, в которой мы рассмотрим баг в одной из реализаций стандарта кодирования двоичных данных Base64.
Анализ кода проекта DeepSpeech или почему не стоит писать в namespace std

Повторная проверка Newton Game Dynamics статическим анализатором PVS-Studio

Недавно на просторах интернета мной был обнаружен физический движок Newton Game Dynamics. Зная, что в таких проектах обычно большой объём сложного кода, я подумал, что будет интересно проверить его статическим анализатором PVS-Studio. Мой энтузиазм ещё больше подстегнуло то, что мой коллега Андрей Карпов уже проверял данный проект в 2014 году, а значит, это ещё и хорошая возможность продемонстрировать развитие нашего анализатора за последние шесть лет. Также стоит отметить, что на момент написания статьи последний релиз Newton Game Dynamics датирован 27 февраля 2020 года, то есть данный проект тоже активно развивается последние 6 лет. Таким образом, надеюсь, что помимо нашей команды, данная статья будет интересна и разработчикам движка, которые смогут избавиться от некоторых багов и исправить свой код.
Интеграция PVS-Studio в PlatformIO

Недавно в среде разработки встраиваемых систем PlatformIO появилась поддержка PVS-Studio. В этой статье вы узнаете, как проверить свой код статическим анализатором на примере открытого проекта.
SARIF SDK и его ошибки
Сегодня у нас на тесте очередной качественный проект Microsoft, в котором мы всё же попытаемся героически поискать ошибки при помощи PVS-Studio. SARIF – аббревиатура от «Static Analysis Results Interchange Format», представляет собой стандарт (формат файла), предназначенный для взаимодействия и обмена результатами работы статических анализаторов с другими инструментами: IDE, комплексными инструментами проверки и анализа кода (например, SonarQube), системами непрерывной интеграции и т.п. SARIF SDK, соответственно, содержит инструментарий разработчика .NET для поддержки SARIF, а также вспомогательные файлы.
Почему летом так мало конференций?

Конечно, они проводятся, но их количество по сравнению с осенними и весенними очень невелико. Хочется изменить эту тенденцию, так как все в нашей команде уверенны, что летние мероприятия — это здорово. В этой короткой статье мы изложим мысли на эту тему и будем рады подискутировать.
Проверяем исходный код FlashDevelop с помощью PVS-Studio

Введение
FlashDevelop — популярная среда разработки Flash-приложений, поддерживающая Action Script версии 2 и 3, Haxe, JavaScript, HTML, PHP, C#, и обладающая функционалом, присущим современным редакторам кода, например, автодополнение кода, встроенная поддержка svn, git, mercurial, шаблоны, сторонние плагины, темы подсветки синтаксиса и многое другое. Примечательно, что FlashDevelop использовали Fireaxis Games при разработке XCOM: Enemy Unknown.
Сортировка предупреждений статических анализаторов по приоритету при поиске и исправлении программных ошибок
Просмотр статистики количества ошибок в проекте, или «Ого, в PVS-Studio появились графики!»

Эта заметка будет интересна прежде всего менеджерам проектов и техническим руководителям, в командах которых используется анализатор кода PVS-Studio. В инструменте появилась возможность отслеживать эффективность использования статического анализатора в командах. Теперь вы можете в цифрах доказать босу, что анализатор купленный за несколько тысяч долларов приносит настоящую, видимую пользу. Но эта статья не про ROI, не пугайтесь.
Итак, какая проблема с инструментами статического анализа помимо того, что они стоят дорого? Не всегда команда, которая приобрела инструмент может похвастаться тем, что ошибки с его помощью правятся. А мы как никто другой заинтересованы в эффективном использовании нашего инструмента. Нас не устроит, если клиент просто купит лицензию и положит ее на полку. Ведь у нас более половины клиентов продлевают лицензии на следующий год. Поэтому наша задача показать эффективность использования нашего инструмента для тех, кто принимает решение о продлении лицензии.
Поэтому в PVS-Studio 5.27 появилась возможность строить графики количества ошибок, обнаруженных анализатором при проверке проекта. Идея этой возможности очень простая:
- Если вы хотите поправить все ошибки, которые выдает PVS-Studio, то со временем у вас график должен прийти к нулю.
- Если вы готовы мириться со старыми ошибками, но правите все новые, то у вас график не должен расти сильно вверх.
- В противном случае разработчики просто не используют PVS-Studio. К сожалению, и для нас (мы не получим продление лицензии), и для вас (вы зря потратили деньги на лицензию).
IncrediBuild для проверки большого проекта с помощью PVS-Studio

PVS-Studio — статический анализатор, выявляющий ошибки в исходном коде приложений на языке C/C++. Подобно компилятору, анализатор обходит файл за файлом в каталоге с исходниками проекта, выполняя свою задачу. Но и без использования внешних инструментов, сборка некоторых проектов может длиться несколько часов. Статический анализ такого проекта будет занимать ещё больше времени. Для сборки крупных проектов, некоторые разработчики прибегают к использованию распределённой сборки с помощью инструмента IncrediBuild. В данной статье не будут рассмотрены детали интеграции PVS-Studio в IncrediBuild, а будет рассказано о проверке большого проекта, замерах времени и других интересных фактах.
Три интервью о статических анализаторах кода
Автор предлагает Вашему вниманию три интервью с представителями современных, крупных, интересных проектов о методике разработки программного обеспечения и, в частности, об использовании статических анализаторов кода. Автор надеется, что читателям будет интересно прочитать данный текст. Участники: Acronis, AlternativaPlatform, НПО-Эшелон.
С уважением,
Александр Тимофеев
Полезные материалы для C++ разработчиков от PVS-Studio

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

По сей день Unity остаётся популярен у тысяч разработчиков. На этом движке созданы многие популярные игры, такие как V Rising, Beat Saber, Hearthstone, Genshin Impact и прочие. Насколько полезен был бы анализатор PVS-Studio разработчикам таких проектов? Какие ошибки и возможности для оптимизации кода он мог бы помочь найти? Давайте узнаем!
Java, Taint и SAST: что это и зачем, и причём здесь ГОСТ 71207

На Java пишется огромное количество серверного кода. Отсюда следует, что написанные на ней веб-приложения должны быть устойчивы к специальным уязвимостям. И эта небольшая статья как раз про один из способов борьбы с ними — SAST. И ещё про то, что такое taint-анализ и как он во всём этом участвует.
Информация
- Сайт
- pvs-studio.ru
- Дата регистрации
- Дата основания
- 2008
- Численность
- 51–100 человек
- Местоположение
- Россия
- Представитель
- Андрей Карпов