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

Безболезненное внедрение статического анализа и победа над ложными срабатываниями

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.1K

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

Читать далее

Stonks или not stonks. Проверка исходного кода трейдерского движка Lean

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели6.6K

В наше время многие интересуются биржами, акциями, облигациями, а некоторые даже имеют свои портфели (речь не про школьников). Существует множество технологий и инструментов для автоматизации торговли. А теперь представьте, к каким убыткам могут привести ошибки в исходном коде такого программного обеспечения. Поэтому давайте посмотрим на потенциальные ошибки в популярном торговом движке Lean.

Читать далее

PVS-Studio доступен в OpenIDE

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.9K

Этот момент настал — теперь наш плагин доступен для загрузки из маркетплейса OpenIDE. Более подробно рассказываем в этой статье.

Читать далее

На защите GameDev'a: статический анализ и Unity

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.8K

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

Читать далее

Ошибки Java по ГОСТу: обзор и примеры

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7.6K

Ошибки в Java по ГОСТу? Да, в этой статье мы вам расскажем, что это за ГОСТ, какие категории ошибок в нём существуют, какие из них относятся к Java, и даже покажем примеры из реальных проектов.

Читать далее

Окно в терминальной стадии

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели3.6K

Что нужно для взаимодействия с операционной системой исключительно через клавиатуру? Это вопрос, на который каждый разработчик даст свой ответ, и как на него ответили Microsoft, выпустив Windows Terminal?

Читать далее

Method Handles быстрее рефлексии (иногда)

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели2.7K

Как Java поддерживает динамические вызовы? От медленной рефлексии до оптимизированных MethodHandle и invokedynamic — изучаем эволюцию динамизма в JVM. Разбираем внутреннее устройство MethodHandle и какие роли играют CallSite и invokedynamic.

Читать далее

.SLN умер. Да здравствует .SLNX

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.1K

Каждый, кто хотя бы раз запускал Visual Studio, имел дело с файлом формата .sln. Это файл решения, который содержит информацию о структуре, конфигурации сборки, настройках платформы и других параметров. Но зачем спустя столько лет вводить новый формат .slnx и чем они друг от друга отличаются? Разберёмся в этой статье.

Читать далее

Статический анализ Pull Request'ов — ещё один шаг к регулярности

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

Хотите, чтобы статический анализ работал не только на ваших локальных машинах, но и прямо в Pull Request'ах? Чтобы баги ловились до попадания в главную ветку, а не после? В этой статье покажем, как это сделать на конкретном примере пайплайна в GitHub Actions.

Читать далее

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

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели1.9K

Привет, читатели! Представьте: вы вложили душу в решение сложной задачи, отправили код на проверку... и получили разгромный комментарий: "Это решение не масштабируется", "Слишком сложно", "А где обработка ошибки Х?" или кууучу правок. Знакомо чувство, когда внутри всё сжимается? Негативная обратная связь — неизбежная часть работы. Но что, если вместо источника стресса она станет сырьём для профессионального апгрейда? Давайте порассуждаем, как превратить критику в суперсилу, используя данные науки и практики.

Читать далее

.NET Digest #8

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

Добро пожаловать на восьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про уже ожидаемые .NET 10 preview 4 и 5, новую команду dotnet run app.cs и множество интересных статей. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Маленькое приключение в поиске ошибок. The Battle for Wesnoth

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

В этой статье мы расскажем вам о том, как путешествовали по землям Ирдии. Нас ждали приключения, полные славных сражений, побед и редких наград в виде могущественных артефактов! "Что же это за артефакты такие?" — спросите вы. Конечно же, это ошибки, найденные в коде довольно известной и крайне увлекательной игры "The Battle for Wesnoth".

Читать далее

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

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

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

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

Читать далее

Путешествие по Avalonia

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели2.2K

В эпоху монолитных UI-фреймворков существовала легенда о земле, где один код правил всеми платформами. Сегодня мы ступаем на берега этого забытого материка зовущегося Avalonia.

Материк Avalonia разделен на шесть регионов: королевство Windows, вольные территории Linux, горные цитадели macOS, мобильные княжества Android, побережные владения iOS, туманный архипелаг WebAssembly. Вооружимся компасом статического анализа и будем вести дневник наблюдений.

Читать далее

Синдром тревожного анализатора и разработчика-заложника

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели802

Мы просто смотрим на экран. Один варнинг. Один, но он красный. Он "орёт". Не получается сразу понять, в чём дело. Условный рефлекс срабатывает, и уже открывается Git. Сейчас пофиксим, а потом подумаем. Даже если предупреждение касается чего-то безобидного, один красный прямоугольник на фоне зелёных строчек может парализовать внимание.

Читать далее

Карты, Java, 2 null'а. XMage edition

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели898

Компьютерная игра на Java — вещь довольно редкая, но всегда интересная. Поэтому мы не упустили возможность проверить статическим анализатором проект XMage и поделиться результатами. Посмотрим, что нашёл PVS-Studio в исходном коде проекта.

Читать далее

История Java: развитие, изучение Марса, битва с Microsoft, Spring, Gradle и Maven, IntelliJ IDEA и Eclipse

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

От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете, при чём здесь дуб, кофе и остров.

Читать далее

Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели766

ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором.

Читать далее

Как NASA ошиблись в исходном коде планеты

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели2.2K

Баги в коде — явление нередкое, но сегодня мы исследуем не просто ошибки, а настоящие космические баги! Что скрывает проект, созданный в недрах NASA? Готовьте свои шапочки из фольги!

Поехали!

Полезные материалы для C++ разработчиков от PVS-Studio

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.2K

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

Читать далее

Информация

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