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

Проверка OpenIDE: они этого не хотели, но мы сделали

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

Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.

Читать далее

Превратили PVS-Studio в город

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

Вы когда-нибудь хотели взглянуть на свой код под новым углом? Например, увидеть, как бы выглядела ваша кодовая база, будь она городом? Звучит как что-то невероятное. Давайте вместе заглянем в город PVS-Studio и просмотрим, какие тайны он в себе хранит :).

Читать далее

Аутсорсинг и приказ ФСТЭК №117, теория РБПО, инструменты

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

Этот текст для компаний, занимающихся аутсорсом и аутстаффингом. Продвигая статический анализ кода в целом и инструмент PVS-Studio в частности, мы отдельно не выделяем компании этой направленности. Сейчас, в связи с вступлением в силу 1 марта 2026 года приказа №117, всё немного по-другому.

Читать далее

Как скопировать дерево, но не точь-в-точь

Уровень сложностиСредний
Время на прочтение8 мин
Просмотры1.8K

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

Читать далее

Ваши тесты упали по причине JavaScript

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

Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.

Читать далее

Что нового в .NET 10?

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

Дождались! .NET 10 вот-вот выйдет, а значит, самое время запускать фейерверки и отмечать юбилей любимой платформы! Ну и, само собой, ознакомимся с улучшениями JIT, расширением стандартной библиотеки, новыми возможностями SDK и с другими нововведениями в этой статье.

Читать далее

Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями

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

Код некоторых модулей Erlang/OTP старше, чем большинство современных junior-разработчиков. Эти файлы — настоящие цифровые патриархи, десятилетиями обеспечивающие работу банковских транзакций, телефонных сетей и систем обмена сообщениями. Мы решили заглянуть под "капот" этого языка-долгожителя, чтобы проверить, что именно скрывается в строках, на которые сегодня полагаются миллионы пользователей. А вот что мы нашли, узнаем в этой статье.

Читать далее

Коробка багов (взрывается): кроссплатформенное коварство

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

В сентябре мы рассматривали релиз 86Box v5.0, приуроченный к тридцати годам со дня выхода в розничную продажу Windows 95, и пообещали показать ещё кое-что. О чём мы сознательно умолчали, и почему оставили находку для отдельной статьи?

Что осталось в "коробке"?

Taint-анализ в C и C++ анализаторе PVS-Studio

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

Ваш код принимает данные извне? Поздравляем, вы вступили на минное поле! Любой непроверенный ввод от пользователя может привести к уязвимости, и найти все "растяжки" вручную в большом проекте почти невозможно. Но есть "сапёр" — статический анализатор. Инструмент нашего "сапёра" — taint-анализ (aka анализ помеченных данных). Он позволяет обнаружить "грязные" данные, дошедшие до опасных мест без проверки. Сегодня мы расскажем о том, как он работает.

Читать далее

Обзор нововведений в C# 14

Уровень сложностиСредний
Время на прочтение8 мин
Просмотры14K

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

Читать далее

Пиксель к пикселю: проверка проекта PixiEditor

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

Работа с графикой невозможна без специальных инструментов — графических редакторов. Но что если ваш редактор вылетит прям во время работы из-за багов?

Давайте с помощью статического анализатора поищем потенциальные ошибки и странные места в исходном коде открытого проекта PixiEditor.

Читать далее

Подножка для AI в виде UTF-8

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

Думаю, вам начинают надоедать тексты про вайб-кодинг. Но не волнуйтесь, мой интерес не в том, чтобы рассказывать о новых невероятных достижениях, меняющих мир, и бла-бла-бла... Интереснее поискать места, в которых начинается сбой при генерации кода. Это позволит адаптировать работу статических анализаторов для новых задач контроля кода, который создаётся с помощью таких систем.

Читать далее

Как статический анализ побуждает разработчика рефакторить код. По мотивам Source SDK

Уровень сложностиСредний
Время на прочтение8 мин
Просмотры1.6K

Ранее утро. Туман окутал горные хребты. Просыпайся, Гордон, вставай. Нам пора отправляться в сердце тьмы и освободить этот мир от лап дремлющего зла. Да, и не забудь свою монтировку.

Читать далее

Цепочка гаджетов в Java и как небезопасная десериализация приводит к RCE?

Уровень сложностиСредний
Время на прочтение12 мин
Просмотры1.6K

В этой статье мы узнаем, что такое chains of gadget, и рассмотрим на примерах (с картинками), как неаккуратная десериализация через нативные Java механизмы может привести к удалённому выполнению кода.

Читать далее

Файловый менеджер Files: ошибки по папочкам

Время на прочтение12 мин
Просмотры4.3K

Files — это сторонний файловый менеджер для Windows. Он сделан для того, чтобы быть лучшим открытым файловым менеджером для ОС, который поддерживается сообществом. А в этой статье мы взглянем на ошибки в исходном коде Files и внесём свой вклад в open source сообщество.

Читать далее

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 3: работа с отчётом и разбор срабатываний

Время на прочтение8 мин
Просмотры359

Продолжаем изучать использование PVS-Studio на практике для бесплатных (и не только) проектов. В этой статье мы рассмотрим основной этап взаимодействия с инструментом — работу с отчётом! Подробно рассмотрим первый опыт разбора срабатываний, изучим интерфейс и посмотрим на ошибки в проекте osu!

Читать далее

Управление результатами статического анализа

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

Статический анализ — это не только запуск проверки. Как обрабатывать отчёты, рассылать предупреждения разработчикам и визуализировать результаты? Рассказываем, как с помощью утилит и интеграций PVS-Studio превратить сырые данные анализатора в эффективный процесс улучшения кода.

Читать далее

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 2: первый запуск и настройка

Время на прочтение5 мин
Просмотры1.2K

Продолжаем изучать использование PVS-Studio для бесплатных (и не только) проектов. В этой статье мы разберём основные настройки анализатора и их важность, а также с чего стоит начать знакомство при первом запуске анализа на новом проекте.

Читать далее

Команда PVS-Studio просит присылать примеры ошибок, связанные с использованием вайб-кодинга

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

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

Отношение к вайб-кодингу и его вариациям неоднозначное. Я разделяю мнение, что использование сгенерированного кода, особенно без полного его понимания программистом, плохо скажется на надёжности и безопасности приложений. Так что работы у статических анализаторов только прибавляется :)

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

Читать далее

Коробка багов (эмулируется)

Уровень сложностиСложный
Время на прочтение12 мин
Просмотры2K

24 августа 2025 года состоялся релиз 86Box 5.0. Низкоуровневый эмулятор IBM PC и совместимых с ним компьютеров получил новый динамический рекомпилятор инструкций процессора, расширил поддержку "железа" и улучшил работу множества уже существующих компонентов.

Что ещё внутри "коробки"?
1
23 ...

Информация

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