Telegram Group Search
Media is too big
VIEW IN TELEGRAM
Попробуем найти ошибку в таком формате 😏

Посмотреть другие ошибки проекта можно по ссылке 🔗

Попробовать анализатор в действии можно по промокоду: https://pvs-studio.ru/cpp_error_tg

#cpp #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, у нас новый стикерпак 🔥

Это совершенно новые стикеры с уникальными багами. Обязательно добавляйте к себе и делитесь с коллегами и друзьями!
Please open Telegram to view this post
VIEW IN TELEGRAM
Для разработчика важно не только знать множество языков и технологий, но и умело их применять. Мы предлагаем вам освежить память и вспомнить простую, но достаточно важную концепцию проектирования ПО.

#термин
⚡️Напоминалка! Скоро будет вебинар!

Тема: Регулярный статический анализ по ГОСТу
🗓 21 мая 12:00

На вебинаре разберём часть требований стандартов 56939-2024 и 71207-2024 в части регулярного статического анализа, как выстроить этот самый регулярный статический анализ в рамках РБПО, автоматизировать его через системы CI и значительно ускорить пайплайн за счёт эффективных подходов. Узнайте, как интеграция анализа в процесс разработки помогает находить уязвимости раньше и экономить ресурсы команды!

Ссылка на регистрацию 🔗

#вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
РБПО-005. РБПО или БРПО?
Встречается как термин "разработка безопасного программного обеспечения" (РБПО), так и "безопасная разработка программного обеспечения" (БРПО).

Новый ГОСТ Р 56939-2024 делает акцент на совершенствовании процессов разработки. Т.е. если применить стандарт, то разработка программного обеспечения (РПО) станет безопасной. С этой точки зрения более уместен вариант БРПО.

С другой стороны, конечная цель — создать безопасное программного обеспечение (БПО), и тогда логичнее звучит РБПО.

На мой взгляд, уместны оба варианта написания. Однако раз уж ГОСТ называется "Разработка безопасного программного обеспечения" (РБПО), то я буду придерживаться этого варианта.
🔥.NET Digest #7

Добро пожаловать на седьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про .NET 10 preview 2 и 3, новый релиз Mono, множество интересных статей и, конечно же, AI. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов.

Переходите по ссылке 🔗

#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
19 мая — День рождения Джеймса Артура Гослинга

Пишите еще факты в комментариях 😉 #праздник
Please open Telegram to view this post
VIEW IN TELEGRAM
Коллеги, уже несколько месяцев наша команда активно тестирует новую версию парсера, и мы достигли значительного прогресса. Благодаря отзывам пользователей, мы смогли выявить и устранить множество неточностей в работе анализатора.

Наша цель — создать максимально надёжный инструмент, поэтому мы продолжаем процесс тестирования и приглашаем вас присоединиться ❤️

Все подробности по ссылке 🔗

#PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Уже сегодня новый вебинар!

Тема: Регулярный статический анализ по ГОСТу
12:00

На вебинаре разберём часть требований стандартов 56939-2024 и 71207-2024 в части регулярного статического анализа, как выстроить этот самый регулярный статический анализ в рамках РБПО, автоматизировать его через системы CI и значительно ускорить пайплайн за счёт эффективных подходов. Узнайте, как интеграция анализа в процесс разработки помогает находить уязвимости раньше и экономить ресурсы команды!

Ссылка на регистрацию 🔗

#вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, рады предоставить вам подборку Telegram-каналов про разработку. Вас ждут каналы про языки C++, C# и Java 👍

Если хотите прокачать скиллы или просто читать годный контент — загляните в статью!

#статья #cpp #csharp #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Тяжела и неказиста жизнь простого программиста статических анализаторов кода
Команда PVS-Studio, содействуя разработке методики испытаний статических анализаторов под руководством ФСТЭК, составляла некоторые синтетические тесты. Писать синтетические тесты сложнее, чем кажется, и с их достоверностью всегда масса нюансов. Я никогда не любил синтетические тесты и продолжаю их не любить. Но что делать, они тоже нужны, когда речь заходит о необходимости подтвердить, что в анализаторах реализован определённый набор технологий.

Даже зная и понимая нюансы составления синтетических тестов, мы всё равно наступили на собственные грабли! Переиграли сами себя :)

Есть составленные нами тесты, в которых в функцию srand или её аналог передаётся константное значение. Это приводит к тому, что функция rand каждый раз будет генерировать одинаковую последовательность псевдослучайных чисел. Такой код, согласно ГОСТ Р 71207-2024, п. 6.3.г, может являться ошибкой некорректного использования системных процедур и интерфейсов, связанных с обеспечением информационной безопасности (шифрования, разграничения доступа и пр.).

Когда тесты подготавливались в Compiler Explorer, всё работало: PVS-Studio выдавал предупреждение V1057. А сейчас, когда код мило и скромно лежит в файлах, не работает. На Compiler Explorer работает, а вне — нет. Магия. Уже собрались баг в анализаторе искать.

Ах нет, всё просто. Файлы с тестами называются test_err_*.cpp. И в детекторе срабатывает исключение N4: "Находимся в файле, содержащем в названии слова check/test/bench". Тьфу. Причём получается, что анализатор прав: это действительно тест, а не настоящий баг :) Вот оно, несовпадение реальности и синтетических проверок в действии. Выкрутимся как-нибудь, но решил описать, так как случай интересный.

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

При экспертизе коллекции проектов стало ясно, что если это файлы с тестами, то писать srand(константа) абсолютно нормально. Более того, так специально делают, чтобы тесты вели себя повторяемо от запуска к запуску. Вот и было принято решение сделать соответствующее исключение. Теоретически это может скрыть реальную ошибку, но на практике в большой коллекции проектов, на котором мы прогоняем новые диагностические правила, такого не было. Зато в юнит-тестах этих проектов такое встречалось часто, и, соответственно, предупреждение оказывалось бессмысленным.

Был рад поведать немного интересного из жизни разработчиков статических анализаторов кода. А если хочется послушать что-то ещё, приглашаю на подкаст "Статический анализ по серьёзному" с моим участием 27 мая в 19:00 по Москве.
Коллеги, рады поделиться с вами записью прошедшего вебинара - "Регулярный статический анализ по ГОСТу"!

Разобрали часть требований стандартов 56939-2024 и 71207-2024 в части регулярного статического анализа, объяснили, как выстроить этот самый регулярный статический анализ в рамках РБПО, автоматизировать его через системы CI и значительно ускорить пайплайн за счёт эффективных подходов. Рассказали, как интеграция анализа в процесс разработки поможет найти уязвимости раньше и сэкономить ресурсы команды.

Приятного просмотра!

#вебинар #видео
❤️ Сегодня отмечаем 30-летие Java!

В честь праздника предлагаем вам пройти квиз и проверить свои знания. Мы выбрали 10 фрагментов кода, в которых наш анализатор нашёл ошибки. Все они взяты из известных Open Source проектов. Удачи!

Пройди квиз по ссылке 🔗

#java #праздник
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/23 17:39:12
Back to Top
HTML Embed Code: