#static_analysis

2025-10-27

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

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

habr.com/ru/companies/pvs-stud

#taint_analysis #taint #static_analysis #pvsstudio #pvs #c++ #dataflow #dataflow_analysis #security #software_security

2025-10-08

Learn about the MustUseResult attribute from the PHP Language Extension Library. Also find out this can be replaced by PHP 8.5's NoDiscard attribute...

daveliddament.co.uk/articles/i

#php #phpstan #static_analysis

2025-09-26

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

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

habr.com/ru/companies/pvs-stud

#pvsstudio #static_analysis #net #c++ #java #free #opensource

2025-09-12

Баги носят данные. Проверка Apache NiFi

Сбор, обработка и перемещение данных — ключевые процессы в IT. Но что, если они нарушатся из-за коварных багов в коде? Рассказываем об ошибках, найденных статическим анализатором в проекте Apache NiFi.

habr.com/ru/companies/pvs-stud

#apache #apache_nifi #nifi #pvsstudio #статический_анализ #static_analysis #sast #open_source #потенциальная_уязвимость #баги

2025-09-05

Как мы Best Practices в Java анализатор внедряли

История о том, как мы переписывали приложение под DI контейнеры, разбирали зависимости, рисовали графики, чтобы в этом не потеряться, и молились, чтобы ничего вдруг не сломалось.

habr.com/ru/companies/pvs-stud

#java #dependency_injection #guice #software_architecture #clean_code #static_analysis #inversion_of_control

2025-08-29

Что делать, если ваш слон думает, что он баг?

Мы окунулись в веб-разработку и нашли там необычное животное. Это был слон с повадками бага. Мы изучили код проекта PHP и поняли, в чём дело. Давайте вместе посмотрим на необычные случаи, которые могут привести к неожиданным результатам.

habr.com/ru/companies/pvs-stud

#программирование #php #c #c++ #статический_анализ #static_analysis #ошибки_в_программе #memory_allocation #undefined_behavior #неопределённое_поведение

2025-08-11

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

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

habr.com/ru/companies/pvs-stud

#static_analysis #java #pvsstudio #sast #статический_анализ #информационная_безопасность #гост_569392024 #гост_569392016 #рбпо #брпо

2025-08-06

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

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

habr.com/ru/companies/pvs-stud

#baseline #подавление_срабатываний #pvsstudio #статический_анализ #ложные_срабатывания #интеграция_статического_анализа #static_analysis #devops #false_positive

2025-07-21

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

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

habr.com/ru/companies/pvs-stud

#статический_анализ #DevOps #Pull_Request #регулярный_статический_анализ #cicd #девопс #пулл_реквест #static_analysis #pvsstudio

2025-06-05

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

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

habr.com/ru/companies/pvs-stud

#статический_анализ #pvsstudio #java #nasa #open_source #static_analysis #чистый_код #совершенный_код

2025-05-30

Автоматизация проверки стиля кода с помощью KtLint в Android проекте

Современная разработка программного обеспечения требует не только написания функционального кода, но и обеспечения его качества, надежности и безопасности. Для обеспечения этого во многих командах по-прежнему существует Code Review. По моему мнению в 90% случаев это абсолютно бесполезная трата времени и сил разработчиков команды. Code Review это рудимент, который изжил себя. Я не утверждаю, что Code Review должен исчезнуть - принцип и подход должны измениться. Ручная организация Code Review ведет к деградации продуктивности и взаимоотношений внутри команды. Очень часто Code Review превращается в способ самоутверждения, эмоциональной разрядке одного из участников команды за счет других. Комментарии часто бывают противоречивыми и контр продуктивными. Как этого избежать? Ответ – полностью автоматизировать этот процесс. Одним из ключевых инструментов для достижения этой цели является статистический анализ кода - метод автоматизированной проверки исходного кода без его выполнения. Я всю свою практику участвовал в командах, где Code Review было ручным и каждый участник команды ставил approve, либо оставлял комментарий. Думаю, так происходит и сейчас во многих командах. Качество такого Review низкое и трудно быть по-настоящему объективным. Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review. Что мне было необходимо? Нужен был инструмент который бы приводил код к единому стилю и избавил меня и других участников команды от необходимости проверять стиль кода. Сюда входит правила расстановки новых строк, именования методов, отступы и тд. Необходимо чтоб инструмент подсвечивал места где стиль не соблюдается и исправлял автоматически такие места.

habr.com/ru/articles/914250/

#kotlin #code_style #static_analysis #android #intellijidea #command #management #clean_code

2025-05-11

Статический Анализ С-кода

Существует бесплатные статические анализаторы. Среди низ splint и cppcheck. Статический анализатор это такая консольная программа, которая проверяет исходные коды до компиляции. Своего рода автоматическая инспекция программ. В этом тексте я представил готовый makefile для запуска статического анализа.

habr.com/ru/articles/770506/

#splint #lint #make #mcu #firmware #C #си #static_analysis #Сppcheck #Сppcheck

2025-04-09

Третья часть исследования Nau Engine

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

habr.com/ru/companies/pvs-stud

#bugs #gamedev #разработка_игр #c++ #static_analysis #поиск_ошибок #ошибки_в_коде #отечественная_разработка

2025-02-25

Поиск потенциальных уязвимостей в коде, часть 2: практика

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

habr.com/ru/companies/pvs-stud

#sast #taint #taint_analysis #cfg #defuse #call_graph #inheritance_graph #security #dataflow #static_analysis

2025-02-21

Вторая часть исследования Nau Engine

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

habr.com/ru/companies/pvs-stud

#bugs #ошибки_в_коде #отечественные_разработчики #поиск_ошибок #static_analysis #gamedev #разработка_игр #с++

2025-02-13

Первая часть исследования Nau Engine

Этой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью, копипасте и логическим ошибкам.

habr.com/ru/companies/pvs-stud

#с++ #разработка_игр #ошибки_в_коде #static_analysis #gamedev #bugs #программирование #поиск_ошибок #отечественные_разработчики

2025-02-12

Распределённая сборка Unreal Engine проектов с помощью Horde и UBA

Распараллелить сборку большого проекта на несколько компьютеров? Легко! Разбираемся, как использовать Unreal Horde — новый инструмент внутри Unreal Engine 5.5. В том числе посмотрим, как с его помощью запустить анализ PVS-Studio.

habr.com/ru/companies/pvs-stud

#Unreal_Engine #pvsstudio #Unreal_Build_Tool #Unreal_Build_Accelerator #Horde #GameDev #static_analysis #статический_анализ #разработка_игр #распределённая_сборка

2025-01-31

PPSSPP или всё же psp? Смотрим баги в коде из прошлого

В мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь окунуться в атмосферу любимых игр, но уже на современных устройствах. Однако чтобы играть без сбоев и лагов, нужно убедиться, что код эмулятора хорошо написан.

habr.com/ru/companies/pvs-stud

#ppsspp #psp #c++ #gamedev #gamedevelopment #emulator #bugs #static_analysis #ошибки_в_коде #pvsstudio

2025-01-29

Ошибки и подозрительные места в исходниках .NET 9

Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках!

habr.com/ru/companies/pvs-stud

#net #net_9 #c# #static_analysis

2025-01-04

pg-index-health – статический анализ структуры PostgreSQL баз данных

С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health, который позволяет анализировать структуру БД и находить потенциальные проблемы. Все эти годы pg-index-health эволюционировал и развивался. За 2024 год мне при поддержке нескольких контрибьюторов удалось решить большинство остававшихся «детских болячек» и довести проект до состояния, когда он готов к масштабной экспансии. В этой статье я хочу подробно рассказать об идеях, которые стоят за этим инструментом, и как его использовать в ваших проектах.

habr.com/ru/articles/871546/

#java #postgresql #postgres #indexes #pgindexhealth #static_analysis #статический_анализ #honeycomb #testing_trophy #test_pyramid

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst