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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

.NET Digest #8

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

В эпоху монолитных 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.8K

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

Читать далее

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

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

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

Читать далее

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

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

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

Поехали!

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

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

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

Читать далее

Подборка авторских Telegram-каналов про разработку

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

Подборка авторских Telegram-каналов про разработку

Приветствую, Хабр. На связи агент того самого анализатора, и сегодня я предлагаю вам изучить Telegram-каналы крутых айтишников, которые познали себя не только в коде, но и блогинге. Переворошила Telegram, чтобы вам не пришлось. Надеюсь, они помогут вам преисполниться в своём познании....

Поехали!

.NET Digest #7

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

Добро пожаловать на седьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про .NET 10 preview 2 и 3, новый релиз Mono, множество интересных статей и, конечно же, AI. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Необходимость статического анализа для РБПО на примере 190 багов в TDengine

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

РБПО


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

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

История C#: эволюция версий, .NET, Unity, Blazor, MAUI

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

C# — один из самых популярных языков программирования, используемый для разработки приложений, веб-сервисов и игр. В этой статье мы заглянем в его историю: рассмотрим ключевые изменения от версии к версии и различные инструменты, без которых C# трудно представить.

Читать далее

Поиск в поиске: проверка Elasticsearch

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

Один из самых больших проектов на Java в Open Source. Elasticsearch используется во многих крупных организациях, таких как GitHub, Альфа-Банк, Тинькофф, Netflix и Amazon. Шесть лет назад мы уже проверяли проект, но интересно, какие новые ошибки появились за столь долгое время?

Читать далее

Сворачиваем CPython вокруг PVS-Studio

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

Python... язык программирования, не нуждающийся в особом представлении. За удобство в обработке "больших данных" заслуженно получил звание "лучшего Excel". За удобство интеграции в C и C++ код его любит геймдев. А также у него низкий порог вхождения!

Но как обстоят дела внутри?
1
23 ...

Информация

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