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

Безопасность приложений: инструменты и практики для Java-разработчиков

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2.1K

Тема безопасной разработки программного обеспечения интересует всё большее количество разработчиков и руководителей. Дополнительным стимулом стал вышедший в конце 2024 года обновлённый ГОСТ Р 56939, в котором описано 25 процессов (мер) для построения безопасной разработки. Это хороший список, но что он означает на практике, например, для Java-разработчиков? Поговорим о сути некоторых процессов и инструментарии.

Статья является переработкой совместного вебинара компаний ООО "ПВС" и АО "АКСИОМ". Текстовый вариант содержит дополнительные ссылки, а некоторые моменты рассмотрены более подробно. Полную запись вебинара доступна здесь: "Безопасность приложений: инструменты и практики для Java-разработчиков".

Статья построена так же, как и вебинар: первую часть подготовил Андрей Карпов, затем слово передаётся Алексею Захарову (@AlexZ0).

Читать далее

Пользовательские аннотации PVS-Studio теперь и в Java

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров802

Начиная с версии PVS-Studio 7.38, Java анализатор вслед за двумя братьями C# и C++ поддерживает пользовательские аннотации в формате JSON. Зачем они нужны и что с ними можно делать, рассмотрим в этой статье.

Читать далее

Меньше багов — больше FPS: как статический анализ помогает проектам на Unreal Engine

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

Всё больше проектов появляется на Unreal Engine — от великого "Ведьмака" до не менее великой "The Day Before". И чем больше проект, тем выше цена одной незамеченной ошибки. Когда число строк кода переваливает за несколько тысяч, даже самый внимательный разработчик может не заметить неочевидный баг. И тут на помощь приходит он — PVS Studio, который помогает снизить риск попадания багов в ваши UE-проекты.

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

.NET Digest #8

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее
1
23 ...

Информация

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