#static_analysis

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

2024-12-16

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

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

habr.com/ru/companies/pvs-stud

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

2024-11-25

Гадание на пяти строчках: о чем молчит программа

Забудьте о призраках, настоящая угроза кроется в повседневных вещах, таких как static_cast, который может неожиданно лишить вас безопасности, и assert, стремительно исчезающий в релизной сборке. Добро пожаловать в мир ловушек, созданных собственными руками!

habr.com/ru/companies/pvs-stud

#c++ #pvsstudio #static_analysis #статический_анализ #gamedev #ошибки #программирование #xenia #наследование #ошибки_программистов

2024-11-09

IaC и DevSecOps: выбираем лучшие инструменты анализа и защиты инфраструктурного кода

Привет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы вновь будем говорить об особенностях статического сканирования, но на этот раз переключим фокус с программного кода на код инфраструктурный. Частично этот вопрос обсуждался в статье нашего коллеги про безопасность контейнеризированных приложений в DevSecOps. В этой статье будут рассмотрены краткие теоретические сведения о подходе “Инфрастуркутра как кодˮ, место безопасности IaC в цикле DevSecOps, методы статического анализа конфигурационных файлов и ключевые особенности работы с инструментом KICS.

habr.com/ru/companies/swordfis

#iac #devsecops #kics #static_analysis #kubernetes #статический_анализ

2024-10-31

Игровое поле экспериментов: какие ошибки могут подстерегать программиста при создании эмулятора

Создание эмулятора для игр Xbox 360 на ПК — задача не из простых, и на каждом шагу можно столкнуться с коварными багами. Сегодня рассмотрим типичные проблемы, которые можно обнаружить при разработке, на примере проекта Xenia.

habr.com/ru/companies/pvs-stud

#xenia #c++ #gamedev #programming #баги #ошибки_программистов #ошибки #pvsstudio #static_analysis #статистический_анализ

2024-10-27

[Перевод] CISQ. Исследование анализа качества ПО 2020 — часть 1

Консорциум по качеству информации и программного обеспечения (CISQ) запустил опрос «Состояние отрасли» - первое комплексное исследование анализа качества программного обеспечения. В этой статье перевод части результатов опроса - раздела "Инженерия". Во второй части будет перевод оставшихся двух разделов - "Системные интеграторы", "Управление поставщиками".

habr.com/ru/articles/853810/

#software_quality #quality_assurance #quality_analysis #static_analysis

2024-10-25

Поймай уязвимость своими руками: пользовательские аннотации C# кода

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

habr.com/ru/companies/pvs-stud

#аннотации #json #статический_анализ #static_analysis #static_code_analysis #json_schema #атрибуты #c# #информационная_безопасность

2024-10-04

Пользовательские аннотации кода для PVS-Studio

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

habr.com/ru/companies/pvs-stud

#аннотации #аннотации_типов #json #статический_анализ #static_analysis #static_code_analysis #json_schema #атрибуты

2024-09-25

Какие ваши доказательства? Объясняем разработчику отчёты SCA на пальцах. Часть 2

Привет, Habr! С вами вновь Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы продолжим наш нелегкий путь в получении Evidence для SBOM. В первой части статьи мы разобрались, что же такое Evidence с точки зрения SBOM. Описали, что представляет собой граф свойств кода, на базе которого происходят все операции нарезки, и рассмотрели срезы использования. Сегодня мы поговорим про срезы достижимости и срезы потоков данных. И, самое главное, разберем, как всё это превращается в расширенный SBOM с вхождениями. Приятного чтения!

habr.com/ru/companies/swordfis

#static_analysis #sca #reachable #dataflow #sbom #software_composition_analysis #cdxgen #evinse #статический_анализ

2024-09-19

Стилистический Анализатор: Синхронизация порядка объявлений и определений функций

У нас в организации есть обязательное правило оформления исходников, которое звучит так: Порядок объявления С-функций должен совпадать с порядком определения С-функций. В этом тексте представлен алгоритм работы консольной программы, которая автоматически выявляет нарушения этого странного правила.

habr.com/ru/articles/844436/

#ctags #awk #gawk #sed #cygwin #cmp #gcc #статический_анализ #стилистический_анализ #static_analysis

2024-09-05

Секреты успешного SCA: использование режима evinse в cdxgen. Часть I

Привет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы расскажем про еще один инструмент, встречающийся в построении процессов Software Composition Analysis (SCA) — сdxgen . Он, как и популярный сканер Trivy, разбирает файлы манифестов, бинарные и другие файлы для извлечения информации о внешних компонентах, используемых в проекте. Кстати, о Trivy мы писали в одной из наших предыдущих статей, заходите почитать . Главным объектом нашего анализа стал новый и очень интересный режим работы cdxgen под названием evinse, представленный авторами в 2023 году. Evinse по исходному коду предоставляет расширенную информацию об evidence — свидетельства присутствия компонента в исходном коде. На момент написания статьи cdxgen является единственной Open Source-утилитой, которая обладает подобной функциональностью. Мы опишем математику, используемую "под капотом", и объясним, почему решили интегрировать результаты работы режима в наших продуктах. Статья получилась достаточно объемной, поэтому мы решили разделить её на две части. В первой мы рассмотрим, что представляет собой объект Evidence с точки зрения SBOM. Опишем базовые математические понятия, которые необходимы для понимания работы утилиты evinse в части построения расширенного SBOM. Здесь же рассмотрим первый вид нарезки использования. Во второй части статьи мы поговорим про остальные виды нарезок — срезы потоков данных и достижимости. Разберем, наконец-то, как из них получается SBOM. Итак, погнали!

habr.com/ru/companies/swordfis

#cdxgen #evinse #SCA #software_composition_analysis #ast #slice #program_analysis #static_analysis #sbom #cyclonedx

Client Info

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