#static_analysis — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #static_analysis, aggregated by home.social.
-
Как PVS-Studio улучшает качество embedded-проектов
Embedded-разработка отличается множеством уникальных настроек, компиляторов и систем сборки. А при использовании стандартных методов анализа могут возникать сложности. Для решения этой проблемы PVS-Studio предоставляет специально разработанный механизм. Давайте узнаем о нём больше и посмотрим, как его можно применять на практике.
https://habr.com/ru/companies/pvs-studio/articles/1066854/
#embedded #static_analysis #c++ #c #встраиваемые_системы #статический_анализ #статический_анализ_кода #программирование #безопасная_разработка #программирование_микроконтроллеров
-
Ошибка в коде, на которую приходится не обращать внимание
В разработке статического анализатора, как и в случае с любым ПО, приходится идти на компромиссы. Иногда мы вынуждены отсекать хорошие срабатывания, чтобы инструмент в целом стал лучше. В этой заметке на реальном примере посмотрим на такой компромисс.
https://habr.com/ru/companies/pvs-studio/articles/1044834/
#static_analysis #статический_анализ #javascript #typescript #bitwise #битовые_флаги #ошибки #ошибки_программистов #open_source
-
Ошибки и подозрительные места в исходниках .NET 10
Чуть больше полугода назад состоялся релиз .NET 10. Остались ли дефекты в исходном коде проекта, спустя месяцы после релиза? Постараемся сегодня найти ответ на этот вопрос.
-
Запах SELECT'а. Обнаружение CODE SMELL до отправки T-SQL кода на прод
Взгляд на экосистему SQL-разработки под MS SQL SERVER через призму контроля качества кода. Обзор существующих инструментов, описание самостоятельной наработки для линтинга T-SQL кода.
https://habr.com/ru/articles/1036340/
#tsql #code_smell #static_analysis #opensource #db #sqlproj #ssdt #dacfx #scriptdom #codesmell
-
FlakyDetector 2.0: Как я превратил сырое исследование в продакшен-инструмент с AST, ML и красивым дашбордом…
Представь: пятница, вечер. Ты запускаешь CI для последнего пулл-реквеста, идёшь наливать кофе, возвращаешься… а билд упал. Один тест. Ты перезапускаешь проходит. «Флаки», — вздыхаешь ты и ставишь лейбл flaky . На следующей неделе история повторяется. Потом ещё раз. Мы привыкли, что нестабильные тесты — это неизбежное зло . Их ловят повторными прогонами, а если повезёт вырезают. Но знаешь, что реально бесит? В 80% случаев корень проблемы можно найти, просто посмотрев на код теста. Я написал инструмент, который это делает автоматически. Без логов CI, без истории прогонов — только AST и машинное обучение. Назвал его FlakyDetector . Первая версия была исследовательским прототипом (про него у меня выходила статья на Хабре ). А теперь — это полноценный продукт: CLI, веб-дашборд, CI-интеграция и даже React-фронтенд. И да, он open source. Давай разберёмся, как это устроено .
https://habr.com/ru/articles/1035782/
#python #ast #catboost #flaky_tests #тестирование #machine_learning #test_smells #fastapi #static_analysis
-
CodeClone 2.0: структурное ревью Python-кода для CI, IDE и AI-агентов
Когда я начинал CodeClone, это был довольно понятный инструмент: найти структурные клоны в Python-коде и не дать им незаметно расползаться по проекту. Сейчас вышел CodeClone 2.0.0, и это уже другой продукт. Не “ещё один линтер”, не попытка заменить Ruff, mypy, pytest, Bandit или Semgrep, а отдельный слой ревью: он смотрит на структуру Python-кода, отделяет старый технический долг от новых регрессий, связывает находки с покрытием тестами и дает одну и ту же картину в CLI, HTML-отчете, GitHub Actions, VS Code, Claude Desktop, Codex и через MCP. Эта статья не про список флагов CLI. Про флаги есть документация. Здесь я хочу рассказать, во что CodeClone вырос как продукт и зачем вообще нужен такой класс инструмента сейчас, когда разработка всё заметнее смещается в сторону AI-агентов.
https://habr.com/ru/articles/1031124/
#python #code_review #code_review_ai #quality_gates #ai_agents #static_analysis #test_coverage
-
Реверс — это сканворд. Как я впервые нормально понял Ghidra
Привет, Хабр. У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена. Не метафорическая стена. Прям реально стена! И вот пока я эту функцию ковырял, переименовывал переменные, ходил по ссылкам, открывал соседние функции, смотрел строки, в какой-то момент меня щёлкнуло. Это же сканворд.
https://habr.com/ru/articles/1029296/
#reverse_engineering #ghidra #реверсинжиниринг #binary_analysis #dll #decompilation #xrefs #static_analysis #reverse #binary_parsing
-
Разработка нового статического анализатора: PVS-Studio JavaScript
Вот уже 18 лет статический анализатор кода PVS-Studio находится на рынке. За это время он обзавёлся поддержкой языков C, C++, C# и Java. Разумеется, останавливаться на этих языках мы не планируем, и в этой статье расскажем про разработку нового JavaScript/TypeScript анализатора, который выйдет уже совсем скоро.
https://habr.com/ru/companies/pvs-studio/articles/1023894/
#pvsstudio #opensource #javascript #typescript #java #gRPC #static_analysis #статический_анализ #AST #семантический_анализ
-
Очередной CrackMe или Как я мучался с Ghidra. Мануал для новичков
Думаю, новички в реверс-инжиниринге всегда хотели бы разбираться во всем? Но язык профессионалов не всегда понятен? Что-ж, я попробую помочь вам в этом нелегком деле! Начать погружение
https://habr.com/ru/articles/988388/
#Ghidra #Crackme #Static_Analysis #reverseengineering #linux #decompilation #декомпиляция #реверсинжиниринг #ассемблер #си
-
Баги на диком западе: топ-10 ошибок в C и C++ проектах за 2025 год
Весь год мы скакали по бескрайним полям открытого кода, расследуя преступления, отстреливая уязвимости и собирая трофеи. Но сегодня мы решили заглянуть в самый пыльный бар, где у стойки стоит опытный шериф и вспоминает десять самых лихих и опасных багов на диком западе.
https://habr.com/ru/companies/pvs-studio/articles/981944/
#open_source #программирование #статистический_анализ #c++ #c #static_analysis #топ10 #поиск_ошибок #ошибки #pvsstudio
-
Ваши тесты упали по причине JavaScript
Рассказываем, как безобидная строка JavaScript-кода привела к нарушению стабильности тестов продукта, а также о том, как можно избежать подобных ошибок.
https://habr.com/ru/companies/pvs-studio/articles/967062/
#javascript #typescript #vscode #pvsstudio #статический_анализ #static_analysis #sast #visual_studio_code #типизация #динамическая_типизация
-
Taint-анализ в C и C++ анализаторе PVS-Studio
Ваш код принимает данные извне? Поздравляем, вы вступили на минное поле! Любой непроверенный ввод от пользователя может привести к уязвимости, и найти все "растяжки" вручную в большом проекте почти невозможно. Но есть "сапёр" — статический анализатор. Инструмент нашего "сапёра" — taint-анализ (aka анализ помеченных данных). Он позволяет обнаружить "грязные" данные, дошедшие до опасных мест без проверки. Сегодня мы расскажем о том, как он работает.
https://habr.com/ru/companies/pvs-studio/articles/960448/
#taint_analysis #taint #static_analysis #pvsstudio #pvs #c++ #dataflow #dataflow_analysis #security #software_security
-
Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 2: первый запуск и настройка
Продолжаем изучать использование PVS-Studio для бесплатных (и не только) проектов. В этой статье мы разберём основные настройки анализатора и их важность, а также с чего стоит начать знакомство при первом запуске анализа на новом проекте.
https://habr.com/ru/companies/pvs-studio/articles/951022/
#pvsstudio #static_analysis #net #c++ #java #free #opensource
-
Баги носят данные. Проверка Apache NiFi
Сбор, обработка и перемещение данных — ключевые процессы в IT. Но что, если они нарушатся из-за коварных багов в коде? Рассказываем об ошибках, найденных статическим анализатором в проекте Apache NiFi.
https://habr.com/ru/companies/pvs-studio/articles/946266/
#apache #apache_nifi #nifi #pvsstudio #статический_анализ #static_analysis #sast #open_source #потенциальная_уязвимость #баги
-
Как мы Best Practices в Java анализатор внедряли
История о том, как мы переписывали приложение под DI контейнеры, разбирали зависимости, рисовали графики, чтобы в этом не потеряться, и молились, чтобы ничего вдруг не сломалось.
https://habr.com/ru/companies/pvs-studio/articles/944164/
#java #dependency_injection #guice #software_architecture #clean_code #static_analysis #inversion_of_control
-
Что делать, если ваш слон думает, что он баг?
Мы окунулись в веб-разработку и нашли там необычное животное. Это был слон с повадками бага. Мы изучили код проекта PHP и поняли, в чём дело. Давайте вместе посмотрим на необычные случаи, которые могут привести к неожиданным результатам.
https://habr.com/ru/companies/pvs-studio/articles/941970/
#программирование #php #c #c++ #статический_анализ #static_analysis #ошибки_в_программе #memory_allocation #undefined_behavior #неопределённое_поведение
-
Пользовательские аннотации PVS-Studio теперь и в Java
Начиная с версии PVS-Studio 7.38, Java анализатор вслед за двумя братьями C# и C++ поддерживает пользовательские аннотации в формате JSON. Зачем они нужны и что с ними можно делать, рассмотрим в этой статье.
https://habr.com/ru/companies/pvs-studio/articles/935922/
#static_analysis #java #pvsstudio #sast #статический_анализ #информационная_безопасность #гост_569392024 #гост_569392016 #рбпо #брпо
-
Безболезненное внедрение статического анализа и победа над ложными срабатываниями
Поговорим о том, как механизм baseline может упростить внедрение статического анализатора в проект, а также о том, как бороться с ложноположительными срабатываниями.
https://habr.com/ru/companies/pvs-studio/articles/934666/
#baseline #подавление_срабатываний #pvsstudio #статический_анализ #ложные_срабатывания #интеграция_статического_анализа #static_analysis #devops #false_positive
-
Статический анализ Pull Request'ов — ещё один шаг к регулярности
Хотите, чтобы статический анализ работал не только на ваших локальных машинах, но и прямо в Pull Request'ах? Чтобы баги ловились до попадания в главную ветку, а не после? В этой статье покажем, как это сделать на конкретном примере пайплайна в GitHub Actions.
https://habr.com/ru/companies/pvs-studio/articles/929456/
#статический_анализ #DevOps #Pull_Request #регулярный_статический_анализ #cicd #девопс #пулл_реквест #static_analysis #pvsstudio
-
Как NASA ошиблись в исходном коде планеты
Баги в коде — явление нередкое, но сегодня мы исследуем не просто ошибки, а настоящие космические баги! Что скрывает проект, созданный в недрах NASA? Готовьте свои шапочки из фольги! Поехали!
https://habr.com/ru/companies/pvs-studio/articles/915850/
#статический_анализ #pvsstudio #java #nasa #open_source #static_analysis #чистый_код #совершенный_код
-
Автоматизация проверки стиля кода с помощью KtLint в Android проекте
Современная разработка программного обеспечения требует не только написания функционального кода, но и обеспечения его качества, надежности и безопасности. Для обеспечения этого во многих командах по-прежнему существует Code Review. По моему мнению в 90% случаев это абсолютно бесполезная трата времени и сил разработчиков команды. Code Review это рудимент, который изжил себя. Я не утверждаю, что Code Review должен исчезнуть - принцип и подход должны измениться. Ручная организация Code Review ведет к деградации продуктивности и взаимоотношений внутри команды. Очень часто Code Review превращается в способ самоутверждения, эмоциональной разрядке одного из участников команды за счет других. Комментарии часто бывают противоречивыми и контр продуктивными. Как этого избежать? Ответ – полностью автоматизировать этот процесс. Одним из ключевых инструментов для достижения этой цели является статистический анализ кода - метод автоматизированной проверки исходного кода без его выполнения. Я всю свою практику участвовал в командах, где Code Review было ручным и каждый участник команды ставил approve, либо оставлял комментарий. Думаю, так происходит и сейчас во многих командах. Качество такого Review низкое и трудно быть по-настоящему объективным. Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review. Что мне было необходимо? Нужен был инструмент который бы приводил код к единому стилю и избавил меня и других участников команды от необходимости проверять стиль кода. Сюда входит правила расстановки новых строк, именования методов, отступы и тд. Необходимо чтоб инструмент подсвечивал места где стиль не соблюдается и исправлял автоматически такие места.
https://habr.com/ru/articles/914250/
#kotlin #code_style #static_analysis #android #intellijidea #command #management #clean_code
-
Статический Анализ С-кода
Существует бесплатные статические анализаторы. Среди низ splint и cppcheck. Статический анализатор это такая консольная программа, которая проверяет исходные коды до компиляции. Своего рода автоматическая инспекция программ. В этом тексте я представил готовый makefile для запуска статического анализа.
https://habr.com/ru/articles/770506/
#splint #lint #make #mcu #firmware #C #си #static_analysis #Сppcheck #Сppcheck
-
Третья часть исследования Nau Engine
В финальной части нашей трилогии, посвящённой Nau Engine, мы уделим внимание ошибкам, возникающим при разработке классов. Приведённые в статье примеры наглядно демонстрируют, как даже небольшие недоработки могут обернуться серьёзными проблемами в работе приложения.
https://habr.com/ru/companies/pvs-studio/articles/899166/
#bugs #gamedev #разработка_игр #c++ #static_analysis #поиск_ошибок #ошибки_в_коде #отечественная_разработка
-
Поиск потенциальных уязвимостей в коде, часть 2: практика
В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java.
https://habr.com/ru/companies/pvs-studio/articles/885576/
#sast #taint #taint_analysis #cfg #defuse #call_graph #inheritance_graph #security #dataflow #static_analysis
-
Вторая часть исследования Nau Engine
Во второй части нашей трилогии об игровом движке Nau Engine мы обсудим важные аспекты оптимизации и повышения производительности. Наша цель — выявить проблемы, которые могут повлиять на эффективность и стабильность игр, созданных с использованием Nau Engine.
https://habr.com/ru/companies/pvs-studio/articles/884746/
#bugs #ошибки_в_коде #отечественные_разработчики #поиск_ошибок #static_analysis #gamedev #разработка_игр #с++
-
Первая часть исследования Nau Engine
Этой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью, копипасте и логическим ошибкам.
https://habr.com/ru/companies/pvs-studio/articles/882188/
#с++ #разработка_игр #ошибки_в_коде #static_analysis #gamedev #bugs #программирование #поиск_ошибок #отечественные_разработчики
-
Распределённая сборка Unreal Engine проектов с помощью Horde и UBA
Распараллелить сборку большого проекта на несколько компьютеров? Легко! Разбираемся, как использовать Unreal Horde — новый инструмент внутри Unreal Engine 5.5. В том числе посмотрим, как с его помощью запустить анализ PVS-Studio.
https://habr.com/ru/companies/pvs-studio/articles/881772/
#Unreal_Engine #pvsstudio #Unreal_Build_Tool #Unreal_Build_Accelerator #Horde #GameDev #static_analysis #статический_анализ #разработка_игр #распределённая_сборка
-
PPSSPP или всё же psp? Смотрим баги в коде из прошлого
В мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь окунуться в атмосферу любимых игр, но уже на современных устройствах. Однако чтобы играть без сбоев и лагов, нужно убедиться, что код эмулятора хорошо написан.
https://habr.com/ru/companies/pvs-studio/articles/878286/
#ppsspp #psp #c++ #gamedev #gamedevelopment #emulator #bugs #static_analysis #ошибки_в_коде #pvsstudio
-
Ошибки и подозрительные места в исходниках .NET 9
Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках!
-
Have you heard about OpenScanHub?
And did you know you can trigger scans in OpenScanHub from #Packit CLI?
https://packit.dev/docs/cli/scan-in-osh
And yes, it supports differential scanning! Let us know what you think about it. The integration with the service is coming.
And if you think static analysis is boring, come to #devconf_cz today and have your mind changed!
Interesting story of its importance and what it takes to open source a service is waiting for you!