#static_code_analysis

2025-03-31

Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень

Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.

habr.com/ru/companies/pvs-stud

#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде

2025-02-18

В преддверии испытаний статических анализаторов под руководством ФСТЭК России

В 2024 году вышел ГОСТ Р 71207 — Статический анализ программного обеспечения. Однако пользователям анализаторов сложно определять, насколько тот или иной инструмент соответствует критериям, изложенным в стандарте. Поэтому ФСТЭК России в 2025 году организует испытания статических анализаторов, результаты которых будут опубликованы в конце года. Ближайший этап — это выработка критериев оценки, и я решил предварительно изложить некоторые мысли по этой теме, которые, возможно, будут интересны жюри и участникам.

habr.com/ru/companies/pvs-stud

#pvsstudio #статический_анализ_кода #анализатор_кода #SAST #static_code_analysis #фстэк #фстэк_россии #гост_р_712072024 #ГОСТ #си #си++ #c #cpp #csharp #java #критическая_ошибка

2024-12-21

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

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

habr.com/ru/companies/pvs-stud

#pvsstudio #информационная_безопасность #статический_анализ_кода #ГОСТ_Р_712072024 #ГОСТ_Р_71207 #ГОСТ_Р_56939 #SAST #c #c++ #java #c# #си #си++ #static_code_analysis #анализ_программы #анализ_потоков_данных #контекстночувствительный_анализ #критические_ошибки #CWE #SARIF #РБПО #разработка_безопасного_ПО #использование_чувствительных_данных

2024-11-12

DPDK: 100 больших и маленьких багов

В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio.

habr.com/ru/companies/pvs-stud

#DPDK #Data_Plane_Development_Kit #C #программирование #баги #ошибки_в_коде #static_code_analysis #SAST #статический_анализ_кода #анализ_кода #информационная_безопасность #PVSStudio #open_source

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-06

Статический анализ структуры базы данных в проекте GitLab

Возможно ли применить статический анализ структуры базы данных к реальным проектам, которые используют PostgeSQL, какой будет результат? Давайте применим и посмотрим что получится. В качестве реальных проектов возьмем инструменты с открытым кодом, которыми многие пользуются ежедневно - GitLab и Redmine.

habr.com/ru/articles/839402/

#sql #postgresql #verification #static_code_analysis #gitlab

2024-06-15

Статический анализ структуры базы данных (часть 3)

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

habr.com/ru/articles/821993/

#sql #postgresql #verification #static_code_analysis

2024-04-27

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio

Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, первая из которых посвящается наиболее интересным срабатываниям с точки зрения плагина PVS-Studio.

habr.com/ru/companies/pvs-stud

#c++ #си++ #разработка_игр #игры #братья_пилоты #следствие_ведут_колобки #qdEngine #PVSStudio #статический_анализ_кода #static_code_analysis #SAST #баги #ошибки_в_коде #gamedev

2024-04-07

Статический анализ структуры базы данных (часть 2)

Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY ( FK ). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при первом знакомстве и применяются только один раз.

habr.com/ru/articles/803841/

#sql #postgresql #verification #static_code_analysis

2024-03-27

Настраиваем статический анализ Unreal Engine проекта

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

habr.com/ru/companies/pvs-stud

#pvsstudio #static_code_analysis #unreal_engine #статический_анализ

2024-03-25

Статический анализ структуры базы данных (часть 1)

Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни статистику по таким данным. Рассмотрим подробнее статический анализ структуры базы данных — что это, какие задачи решает, как интегрировать статический анализ в CI.

habr.com/ru/articles/800121/

#sql #postgresql #verification #static_code_analysis

2023-12-14

Detekt: как статический анализ помогает улучшить код автотестов

Есть такое мнение, что качество кода автотестов не так важно в сравнении с основной кодовой базой. Однако это тоже код, который приходится поддерживать с соответствующими накладными расходами. Если не следить за его качеством, то и тут могут возникать проблемы. И у каждой ошибки есть своя цена. Было бы здорово, если бы о них можно было узнать как можно быстрее и без привлечения лишних ресурсов. Это может касаться как простых ошибок, на которые не хочется тратить время специалистов, так и неочевидных ошибок, у которых иногда непросто определить причину. Меня зовут Николай, и я инженер в мобильной платформенной команде Яндекс Еды. В этой статье я расскажу, как мы повышаем качество кода автотестов Android-приложения. И в этом нам помогает статический анализ.

habr.com/ru/companies/yandex/a

#detekt #static_analysis #static_code_analysis #quality_gates #kotlin #android #kaspresso #marathon #allure #тестирование

Client Info

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