#статический_анализ_кода — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #статический_анализ_кода, aggregated by home.social.
-
Статанализ — must-have для проектов с Codex/ClaudeCode
На днях у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить. Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента . Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. Основные промахи чаще про другое:
https://habr.com/ru/articles/993004/
#статистический_анализ #статический_анализ_кода #ruff #phpstan #phpcsfixer #php #python #go #codex #claude_code
-
Статанализ — must-have для проектов с Codex/ClaudeCode
На днях у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить. Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента . Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. Основные промахи чаще про другое:
https://habr.com/ru/articles/993004/
#статистический_анализ #статический_анализ_кода #ruff #phpstan #phpcsfixer #php #python #go #codex #claude_code
-
Как укротить SwiftLint в масштабах компании
Всем привет! Меня зовут Артём Вичужанин. В разработке я больше пяти лет: начинал с десктопных приложений на Delphi и микропрограмм для контроллеров на C++, позже ушел в мобильную разработку. Сейчас в Naumen я отвечаю за разработку мобильных продуктов, и в рамках проектов регулярно сталкиваюсь с вопросами качества кода и автоматизации. Именно в корпоративной разработке особенно остро чувствуется: чем больше проектов и команд, тем сложнее удерживать единый стиль кода. В этой статье я делюсь опытом настройки SwiftLint сразу для нескольких репозиториев — так, чтобы кодстайл оставался единым и не расползался со временем.
https://habr.com/ru/companies/naumen/articles/981474/
#SwiftLint #кодстайл #линтер #Swift #iOS_разработка #качество_кода #статический_анализ_кода
-
Строки кода должны помещаться на экране
О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.
https://habr.com/ru/companies/pvs-studio/articles/971950/
#pvsstudio #статический_анализ #статический_анализ_кода #c# #рефакторинг #оформление_кода #информационная_безопасность #Space_Engineers #sast
-
Строки кода должны помещаться на экране
О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.
https://habr.com/ru/companies/pvs-studio/articles/971950/
#pvsstudio #статический_анализ #статический_анализ_кода #c# #рефакторинг #оформление_кода #информационная_безопасность #Space_Engineers #sast
-
Строки кода должны помещаться на экране
О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.
https://habr.com/ru/companies/pvs-studio/articles/971950/
#pvsstudio #статический_анализ #статический_анализ_кода #c# #рефакторинг #оформление_кода #информационная_безопасность #Space_Engineers #sast
-
Строки кода должны помещаться на экране
О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.
https://habr.com/ru/companies/pvs-studio/articles/971950/
#pvsstudio #статический_анализ #статический_анализ_кода #c# #рефакторинг #оформление_кода #информационная_безопасность #Space_Engineers #sast
-
[Перевод] Выразительность против разрешимости: почему «мощные» системы тяжело анализировать
В программировании мы привыкли торговаться временем против памяти, но есть ещё один, менее очевидный, компромисс — между тем, что система в принципе умеет выражать, и тем, что о ней потом вообще можно строго сказать. Машины Тьюринга, PDA и DFA, Rust и Python, SAT и SMT, системы типов, макросы и метапрограммирование — всё это разные точки в одной и той же решётке «выразительность против разрешимости», просто по разным осям. В статье разберемся, почему достаточно «мощные» модели и языки неизбежно становятся плохо анализируемыми, почему это не линейный спектр, а набор пересекающихся измерений, и как этот компромисс проступает в очень практичных вещах — от систем типов и статанализа до архитектурных решений в реальных проектах. Читать разбор
https://habr.com/ru/companies/otus/articles/971020/
#разрешимость_задач #машина_Тьюринга #система_типов_Rust #статический_анализ_кода #модель_вычислений
-
Статический анализ OpenIDE
Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.
https://habr.com/ru/companies/pvs-studio/articles/969540/
#статический_анализ #статический_анализ_кода #pvsstudio #openide #java #jls #ошибки_в_коде #gitflic #intellij_platform #анализ_программы
-
Статический анализ OpenIDE
Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.
https://habr.com/ru/companies/pvs-studio/articles/969540/
#статический_анализ #статический_анализ_кода #pvsstudio #openide #java #jls #ошибки_в_коде #gitflic #intellij_platform #анализ_программы
-
Статический анализ OpenIDE
Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.
https://habr.com/ru/companies/pvs-studio/articles/969540/
#статический_анализ #статический_анализ_кода #pvsstudio #openide #java #jls #ошибки_в_коде #gitflic #intellij_platform #анализ_программы
-
Статический анализ OpenIDE
Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.
https://habr.com/ru/companies/pvs-studio/articles/969540/
#статический_анализ #статический_анализ_кода #pvsstudio #openide #java #jls #ошибки_в_коде #gitflic #intellij_platform #анализ_программы
-
Подножка для AI в виде UTF-8
Думаю, вам начинают надоедать тексты про вайб-кодинг. Но не волнуйтесь, мой интерес не в том, чтобы рассказывать о новых невероятных достижениях, меняющих мир, и бла-бла-бла... Интереснее поискать места, в которых начинается сбой при генерации кода. Это позволит адаптировать работу статических анализаторов для новых задач контроля кода, который создаётся с помощью таких систем.
https://habr.com/ru/companies/pvs-studio/articles/956470/
#utf8 #ai #vibecoding #vibecoding #pvsstudio #статический_анализ #статический_анализ_кода #c++ #c++17 #информационная_безопасность
-
Команда PVS-Studio просит присылать примеры ошибок, связанные с использованием вайб-кодинга
Так или иначе, вайб-кодинг становится, — а где-то уже стал, — частью процесса разработки программного кода. Команда PVS-Studio видит в этом новые задачи для статических анализаторов по поиску ошибок в коде, возникающих при использовании ИИ-ассистентов и т.п. Первый шаг — собрать примеры реальных дефектов для изучения. Отношение к вайб-кодингу и его вариациям неоднозначное. Я разделяю мнение, что использование сгенерированного кода, особенно без полного его понимания программистом, плохо скажется на надёжности и безопасности приложений. Так что работы у статических анализаторов только прибавляется :) AI-сгенерированный код, возможно, будет содержать новые непривычные виды ошибок. Соответственно, чтобы их изучить и научиться выявлять, необходимо сначала собрать их коллекцию.
https://habr.com/ru/companies/pvs-studio/articles/950552/
#вайбкодинг #pvsstudio #информационная_безопасность #c# #генерация_кода #генеративный_ии #вайбкодинг #вайбпрограммирование #статический_анализ_кода #качество_кода
-
Коробка багов (эмулируется)
24 августа 2025 года состоялся релиз 86Box 5.0. Низкоуровневый эмулятор IBM PC и совместимых с ним компьютеров получил новый динамический рекомпилятор инструкций процессора, расширил поддержку "железа" и улучшил работу множества уже существующих компонентов. Что ещё внутри "коробки"?
https://habr.com/ru/companies/pvs-studio/articles/949682/
#86box #ретрокомпьютинг #эмуляция #pvsstudio #x86 #статический_анализ_кода
-
Ошибки Java по ГОСТу: обзор и примеры
Ошибки в Java по ГОСТу? Да, в этой статье мы вам расскажем, что это за ГОСТ, какие категории ошибок в нём существуют, какие из них относятся к Java, и даже покажем примеры из реальных проектов.
https://habr.com/ru/companies/pvs-studio/articles/932070/
#гост_712072024 #java #программирование #pvsstudio #статический_анализ #статический_анализ_кода #гост #open_source #гост_р_56939 #терминология
-
[Перевод] SonarQube: базовая настройка и анализ качества кода с помощью FastAPI
Ошибки в коде— не всегда вопрос невнимательности. Часто они кроются в архитектурных решениях, устаревших практиках и банальном отсутствии инструментов контроля качества. В этой статье — практический разбор того, как настроить и использовать SonarQube с FastAPI, чтобы находить баги, уязвимости и «запахи» ещё до запуска приложения. Разберёмся, как выглядит процесс статического анализа кода на практике, как развернуть SonarQube через Docker и интегрировать его в рабочий цикл через CI/CD.
https://habr.com/ru/companies/otus/articles/929746/
#sast #sonarqube #статический_анализ_кода #FastAPI #настройка_SonarQube #docker
-
Синдром тревожного анализатора и разработчика-заложника
Мы просто смотрим на экран. Один варнинг. Один, но он красный. Он "орёт". Не получается сразу понять, в чём дело. Условный рефлекс срабатывает, и уже открывается Git. Сейчас пофиксим, а потом подумаем. Даже если предупреждение касается чего-то безобидного, один красный прямоугольник на фоне зелёных строчек может парализовать внимание.
https://habr.com/ru/companies/pvs-studio/articles/922616/
#статический_анализ_кода #инструменты #качество_кода #кодревью #психология #культура_разработки
-
Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)
ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором.
https://habr.com/ru/companies/pvs-studio/articles/919456/
#pvsstudio #статический_анализ_кода #фстэк #гост_р_712072024 #C #C++ #c# #java #рбпо #программирование
-
Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус
- Зачем идете в горы вы? Ведь Эльбрус и с самолета видно здорово! Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ , которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!
-
Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус
- Зачем идете в горы вы? Ведь Эльбрус и с самолета видно здорово! Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ , которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!
-
Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус
- Зачем идете в горы вы? Ведь Эльбрус и с самолета видно здорово! Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ , которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!
-
Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус
- Зачем идете в горы вы? Ведь Эльбрус и с самолета видно здорово! Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ , которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!
-
Необходимость статического анализа для РБПО на примере 190 багов в TDengine
Одна из важнейших составляющих безопасной разработки программного обеспечения — это статический анализ кода. Он позволяет выявить ошибки и потенциальные уязвимости на ранних этапах разработки ПО, что сокращает стоимость их исправления. Но что ещё важнее, он позволяет выявить те проблемы и дефекты безопасности, о которых разработчики даже не подозревают.
https://habr.com/ru/companies/pvs-studio/articles/907674/
#рбпо #статический_анализ_кода #sast #информационная_безопасность #iot #iot_разработка #pvsstudio #ГОСТ_Р_569392024 #гост_р_56939 #гост_р_712072024 #разработка_безопасного_по #TDengine
-
Необходимость статического анализа для РБПО на примере 190 багов в TDengine
Одна из важнейших составляющих безопасной разработки программного обеспечения — это статический анализ кода. Он позволяет выявить ошибки и потенциальные уязвимости на ранних этапах разработки ПО, что сокращает стоимость их исправления. Но что ещё важнее, он позволяет выявить те проблемы и дефекты безопасности, о которых разработчики даже не подозревают.
https://habr.com/ru/companies/pvs-studio/articles/907674/
#рбпо #статический_анализ_кода #sast #информационная_безопасность #iot #iot_разработка #pvsstudio #ГОСТ_Р_569392024 #гост_р_56939 #гост_р_712072024 #разработка_безопасного_по #TDengine
-
Необходимость статического анализа для РБПО на примере 190 багов в TDengine
Одна из важнейших составляющих безопасной разработки программного обеспечения — это статический анализ кода. Он позволяет выявить ошибки и потенциальные уязвимости на ранних этапах разработки ПО, что сокращает стоимость их исправления. Но что ещё важнее, он позволяет выявить те проблемы и дефекты безопасности, о которых разработчики даже не подозревают.
https://habr.com/ru/companies/pvs-studio/articles/907674/
#рбпо #статический_анализ_кода #sast #информационная_безопасность #iot #iot_разработка #pvsstudio #ГОСТ_Р_569392024 #гост_р_56939 #гост_р_712072024 #разработка_безопасного_по #TDengine
-
Необходимость статического анализа для РБПО на примере 190 багов в TDengine
Одна из важнейших составляющих безопасной разработки программного обеспечения — это статический анализ кода. Он позволяет выявить ошибки и потенциальные уязвимости на ранних этапах разработки ПО, что сокращает стоимость их исправления. Но что ещё важнее, он позволяет выявить те проблемы и дефекты безопасности, о которых разработчики даже не подозревают.
https://habr.com/ru/companies/pvs-studio/articles/907674/
#рбпо #статический_анализ_кода #sast #информационная_безопасность #iot #iot_разработка #pvsstudio #ГОСТ_Р_569392024 #гост_р_56939 #гост_р_712072024 #разработка_безопасного_по #TDengine
-
Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.
https://habr.com/ru/companies/pvs-studio/articles/895978/
#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде
-
Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.
https://habr.com/ru/companies/pvs-studio/articles/895978/
#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде
-
Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.
https://habr.com/ru/companies/pvs-studio/articles/895978/
#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде
-
Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.
https://habr.com/ru/companies/pvs-studio/articles/895978/
#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде
-
Учимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/891850/
#c #cpp #си #си++ #pvsstudio #рефакторинг #информационная_безопасность #sast #alloca #сортировка_пузырьком #качество_кода #статический_анализ_кода #обзор_кода
-
Учимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/891850/
#c #cpp #си #си++ #pvsstudio #рефакторинг #информационная_безопасность #sast #alloca #сортировка_пузырьком #качество_кода #статический_анализ_кода #обзор_кода
-
Учимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/891850/
#c #cpp #си #си++ #pvsstudio #рефакторинг #информационная_безопасность #sast #alloca #сортировка_пузырьком #качество_кода #статический_анализ_кода #обзор_кода
-
Учимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/891850/
#c #cpp #си #си++ #pvsstudio #рефакторинг #информационная_безопасность #sast #alloca #сортировка_пузырьком #качество_кода #статический_анализ_кода #обзор_кода
-
Учимся рефакторить код на примере багов в TDengine, часть 1: про колбасу
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить канонические ошибки и опечатки. Многих из них можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте посмотрим на эти ошибки и подумаем, как можно повести рефакторинг кода так, чтобы им просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/888060/
#c #c++ #sast #pvsstudio #статический_анализ_кода #рефакторинг #программирование #TDengine
-
Учимся рефакторить код на примере багов в TDengine, часть 1: про колбасу
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить канонические ошибки и опечатки. Многих из них можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте посмотрим на эти ошибки и подумаем, как можно повести рефакторинг кода так, чтобы им просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/888060/
#c #c++ #sast #pvsstudio #статический_анализ_кода #рефакторинг #программирование #TDengine
-
Учимся рефакторить код на примере багов в TDengine, часть 1: про колбасу
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить канонические ошибки и опечатки. Многих из них можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте посмотрим на эти ошибки и подумаем, как можно повести рефакторинг кода так, чтобы им просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/888060/
#c #c++ #sast #pvsstudio #статический_анализ_кода #рефакторинг #программирование #TDengine
-
Учимся рефакторить код на примере багов в TDengine, часть 1: про колбасу
Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить канонические ошибки и опечатки. Многих из них можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте посмотрим на эти ошибки и подумаем, как можно повести рефакторинг кода так, чтобы им просто не было там места.
https://habr.com/ru/companies/pvs-studio/articles/888060/
#c #c++ #sast #pvsstudio #статический_анализ_кода #рефакторинг #программирование #TDengine
-
DPDK: 100 больших и маленьких багов
В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio.
https://habr.com/ru/companies/pvs-studio/articles/857860/
#DPDK #Data_Plane_Development_Kit #C #программирование #баги #ошибки_в_коде #static_code_analysis #SAST #статический_анализ_кода #анализ_кода #информационная_безопасность #PVSStudio #open_source
-
Поиск ошибок в юнит-тестах
Давно хотелось написать статью, что юнит-тесты — это хорошо, но не стоит забывать, что они тоже могут содержать ошибки. Сейчас встретился проект DPDK, тесты которого хорошо демонстрируют этот нюанс. Давайте посмотрим, как выглядят типичные ошибки в юнит-тестах, и как они выявляются с помощью статического анализа кода.
https://habr.com/ru/companies/pvs-studio/articles/856220/
#юниттесты #unittesting #unitтестирование #тестирование #TDD #DPDK #c #c++ #ошибки #ошибки_в_программе #статический_анализ_кода #pvsstudio #sast #си #open_source
-
Самая красивая ошибка, которую я нашёл с помощью PVS-Studio в 2024 году
Сразу предупреждаю, мои вкусы очень специфичны. Красота ошибки в том, что человеку её очень сложно найти. Я не верю, что её можно заметить при обзоре кода. Если только заранее знать, что она есть, и искать её целенаправленно. Ошибку я нашёл в проекте DPDK . В нём есть и другие ошибки, но про них потом. Они меркнут перед этим алмазом. Только не ждите чего-то эдакого. Ошибка проста до безобразия. Вот только найти её, просматривая код, ой как непросто. Собственно, попробуйте сами.
https://habr.com/ru/companies/pvs-studio/articles/853920/
#DPDK #Си #Си++ #C #C++ #ошибки_в_коде #pvsstudio #opensource #баги #bugs #информационная_безопасность #статический_анализ_кода
-
Опасность устарела: несколько важных нюансов в новых стандартах C++
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь ). В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.
https://habr.com/ru/companies/kaspersky/articles/822373/
#c++ #программирование #c #си++ #qt #c++20 #статический_анализ_кода #разработка #информационная_безопасность #кибербезопасность #безопасность #уязвимости #кибератаки #пентест #cybersecurity #си #stm32 #undefined_behavior #компиляторы #llvm #языки_программирования #компилятор #системное_программирование
-
PVS-Studio соответствует требованиям ГОСТ Р 71207—2024 (статический анализ программного обеспечения)
Инструментальное средство PVS-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в ГОСТ Р 71207–2024, выявляет критические ошибки и может использоваться при разработке безопасного программного обеспечения. Рассмотрим функциональные возможности, реализованные в PVS-Studio на конец 2024 года в отношении анализа исходного кода программного обеспечения, написанного на компилируемых языках программирования C, C++, C#, Java.
https://habr.com/ru/companies/pvs-studio/articles/868578/
#pvsstudio #информационная_безопасность #статический_анализ_кода #ГОСТ_Р_712072024 #ГОСТ_Р_71207 #ГОСТ_Р_56939 #SAST #c #c++ #java #c# #си #си++ #static_code_analysis #анализ_программы #анализ_потоков_данных #контекстночувствительный_анализ #критические_ошибки #CWE #SARIF #РБПО #разработка_безопасного_ПО #использование_чувствительных_данных
-
Java, Taint и SAST: что это и зачем, и причём здесь ГОСТ 71207
На Java пишется огромное количество серверного кода. Отсюда следует, что написанные на ней веб-приложения должны быть устойчивы к специальным уязвимостям. И эта небольшая статья как раз про один из способов борьбы с ними — SAST. И ещё про то, что такое taint-анализ и как он во всём этом участвует.
https://habr.com/ru/companies/pvs-studio/articles/876890/
#java #sast #статистический_анализ #статический_анализ_кода #pvsstudio #taint_analysis #гост #информационная_безопасность #уязвимости #уязвимости_и_их_эксплуатация
-
В преддверии испытаний статических анализаторов под руководством ФСТЭК России
В 2024 году вышел ГОСТ Р 71207 — Статический анализ программного обеспечения. Однако пользователям анализаторов сложно определять, насколько тот или иной инструмент соответствует критериям, изложенным в стандарте. Поэтому ФСТЭК России в 2025 году организует испытания статических анализаторов, результаты которых будут опубликованы в конце года. Ближайший этап — это выработка критериев оценки, и я решил предварительно изложить некоторые мысли по этой теме, которые, возможно, будут интересны жюри и участникам.
https://habr.com/ru/companies/pvs-studio/articles/883556/
#pvsstudio #статический_анализ_кода #анализатор_кода #SAST #static_code_analysis #фстэк #фстэк_россии #гост_р_712072024 #ГОСТ #си #си++ #c #cpp #csharp #java #критическая_ошибка
-
Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio
Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, первая из которых посвящается наиболее интересным срабатываниям с точки зрения плагина PVS-Studio.
https://habr.com/ru/companies/pvs-studio/articles/810987/
#c++ #си++ #разработка_игр #игры #братья_пилоты #следствие_ведут_колобки #qdEngine #PVSStudio #статический_анализ_кода #static_code_analysis #SAST #баги #ошибки_в_коде #gamedev
-
Как ускорить проверку приложения с помощью Impact-анализа: Часть 1 — Статические анализаторы
Когда команда растёт, а кодовая база стремительно увеличивается, время выполнения проверок может стать настоящей проблемой. Unit-тесты, UI-тесты, статический анализ — все эти процессы начинают занимать слишком много времени, замедляя разработку. Звучит знакомо? В этой статье я поделюсь опытом нашей команды в Циан: расскажу, как мы перешли от полного выполнения всех проверок к выборочному запуску, снизив их длительность. И почему сделать это проще, чем кажется. Если вы считаете, что выборочный запуск статических анализаторов — это сложно и дорого в поддержке, я покажу, как обойтись всего 200 строками кода. Хочется запускать проверки только там, где это действительно нужно, и ускорить работу своей команды? Тогда читайте дальше.
https://habr.com/ru/companies/cian/articles/861922/
#разработка_под_android #программирование #разработка_мобильных_приложений #разработка_мобильного_приложения #мануал #impact_analysis #detekt #статический_анализ_кода #ускорение_разработки
-
Какую статью хочется прочитать в нашем блоге на тему C++, C# или Java?
Наша команда регулярно публикует теоретические статьи, пишет про поиск ошибок в открытых проектах, делает развлекательные посты. В общем, в нашем блоге много всего интересного и полезного. Однако не ходим ли мы по кругу с одними и теми же темами? Нам сложно взглянуть на нашу ленту публикаций со стороны. Приглашаем поделиться идеями, какие статьи хотелось бы видеть от нашей команды. На данный момент контент нашего блога можно разделить на 4 основные категории: Теоретические статьи; Информационно-развлекательные статьи; Проверка открытых проектов; Всё остальное.
https://habr.com/ru/companies/pvs-studio/articles/775332/
#pvsstudio #си #си++ #c# #java #c #c++ #обзор_кода #программирование #качество_кода #баги #ошибки_в_коде #ошибки_в_программе #теория #блог #статический_анализ_кода #информационная_безопасность
-
19 ошибок в LLVM 19
Статический анализатор PVS-Studio способен находить ошибки даже в таком качественном и протестированном проекте, как LLVM. Чтобы это не было пустыми словами, мы время от времени перепроверяем проект и публикуем такие заметки, как эта.
https://habr.com/ru/companies/pvs-studio/articles/859914/
#llvm #llvm_19 #pvsstudio #компиляторы #ошибки_в_коде #ошибки_программистов #ошибки_программирования #баги #открытый_исходный_код #статический_анализ_кода #sast #информационная_безопасность #опечатки