TGViewer
Channel Public Channel
Бестиарий программирования

Бестиарий программирования

@programming_tales

Наблюдения за жизнью ошибок в коде.
Андрей Карпов.

ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода

Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8
Subscribers
1.14K
Photos
398
Videos
5
Links
493

Showing posts older than #237 · Back to latest

Older Posts 17 shown
Post #236 531
В следующий понедельник 28.04.2025 приглашаю в 11:00 на подкаст, где будем говорить о безопасной разработке - Анонс sysadmins №58. РБПО – тренд 2025.
  • ❤ 2
  • ⚡ 1
  • 👍 1
Post #235 409

Forwarded from Cody_unicorn

Пора по-настоящему испытать себя...

Мы с командой подготовили интересный квиз по мотивам книги "Путеводитель С++ программиста по неопределенному поведению". Тебя ждет 10 кринжовых примеров кода, надо будет найти ошибки.

Только не относись к этому серьезно, просто развлекись 😃
  • 👍 3
Post #234 363
PVS-Studio: поиск ошибок в коде ⚡Напоминалка! Скоро состоится наш совместный вебинар с экспертами из AppSec Solutions. Расскажем, как повысить безопасность вашего кода с помощью современных инструментов. 📅16 апреля 12:00 Подробности и регистрация 🔗 #вебинар
Запись доклада: https://pvs-studio.ru/ru/blog/video/11322/
PVS-Studio Интеграция статического анализа и DevSecOps: PVS-Studio и AppSec.Hub в действии Рассказали, как повысить безопасность вашего кода с помощью современных инструментов. PVS-Studio — мощный статический анализатор, выявляющий ошибки и уязвимости в коде, и AppSec.Hub — платформа DevSecOps от AppSec Solutions, которая автоматизирует внедрение…
Post #233 308

Forwarded from PVS-Studio: поиск ошибок в коде

Вы уже знаете, чем займетесь вечером? Если нет, то вот вам занятие - посмотреть онлайн-трансляцию подкаста Pure Virtual Cast! 🎤

О чем подкаст:
Возможные подходы к парсингу C++ в НЕ компиляторах. Нужен ли полноценный парсер, если нужен, то почему. Можно ли использовать готовые парсеры, в том числе из компиляторной инфраструктуры (типа clang). Зачем может понадобиться собственный парсер, и с какими проблемами придется столкнуться при создании оного.

📅 Сегодня в 19:30

Трансляция доступна по этой ссылке 🔗

#подкаст #cpp
Post #232 255

Forwarded from PVS-Studio: поиск ошибок в коде

⚡Напоминалка!

Скоро состоится наш совместный вебинар с экспертами из AppSec Solutions. Расскажем, как повысить безопасность вашего кода с помощью современных инструментов.

📅16 апреля 12:00

Подробности и регистрация 🔗

#вебинар
  • 👍 2
Post #231 264
AppSec.Hub — платформа DevSecOps от AppSec Solutions, которая автоматизирует внедрение инструментов безопасности и управление процессами безопасной разработки. На вебинаре эксперты продемонстрируют возможности продуктов и покажут, как интегрировать PVS-Studio в AppSec.Hub для создания эффективного конвейера DevSecOps.
Post #230 308

Forwarded from SafeCode — конференция по безопасности приложений

#видеозаписи

Андрей Карпов не первый год рассказывает о поиске ошибок статическим анализом.

Но теперь #БезопаснаяСреда публикует запись доклада, где он зашёл особенно далеко: как найти ненаходимое?

YouTube | VK Видео

Скачать презентацию с сайта SafeCode
  • 👍 3
Post #229 252

Forwarded from PVS-Studio: поиск ошибок в коде

🎙Друзья, рады поделиться с вами записью прошедшего вебинара!

Совместно с экспертом SECURITM мы поговорили о том, как обеспечить соблюдение требований ГОСТ в области безопасной разработки программного обеспечения. Показали реальные примеры использования PVS-Studio и SECURITM, дали рекомендации по настройке инструментов и рассказали, как оптимизировать процессы разработки для достижения высокого уровня безопасности.

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

#вебинар #PVS_Studio
PVS-Studio Внедрение процессов безопасной разработки. Интеграция PVS-Studio и SGRC SECURITM Совместно с экспертом SECURITM Евгенией Карповой мы поговорили о том, как обеспечить соблюдение требований ГОСТ в области безопасной разработки программного обеспечения.Показали реальные примеры использования PVS-Studio и SECURITM, дали рекомендации по настройке…
  • 👍 3
Post #228 301
Вместо того чтобы прыгнуть, а потом раскрыть парашют, Торопыжка в спешке сначала раскрыл парашют, а потом прыгнул. От этого парашют зацепился за край корзины. Торопыжка запутался ногой в шнурах и повис вниз головой. (С) Приключения Незнайки и его друзей.


В программировании есть аналогичный "антипаттрен торопыжки". О, кстати, может его так стоит и назвать :) Входной указатель в начале разыменовывается, а потом проверяется. Очень частая ситуация.

Классический пример взят из проекта TDengine. Предупреждение PVS-Studio V595 The 'pHandle' pointer was utilized before it was verified against nullptr. Check lines: 2883, 2887. tsort.c 2883

Кстати, на подходе статья "Необходимость статического анализа для РБПО на примере 190 багов в TDengine". До 200 не дотянул, устал выписывать :)
  • 👍 2
Post #227 249
Хозяйке на заметку. Вместо условных директив компиляции (#if и т.д.), иногда привлекательнее писать просто if, т.к. тогда легче поддерживать весь код в компилируемом состоянии. Т.е. используя #if легко в неподходящий момент получить некомпилируемый код, что проявит себя при смене конфигурации (ключах компилятора).

Но писать if (всегда ложь/истина) тоже плохо по разным соображениям. Например, можно получать верные, но бесполезные предупреждения от компиляторов/анализаторов кода. Поэтому, не забывайте, что существует такая штука как constexpr if statement:
if constexpr ( condition )
  • ❤ 1
  • 🤨 1
Post #226 256
Пример, как выглядит в коде безопасность для галочки.

Оптимизирующий компилятор вправе удалить последнюю строчку с присваиваниями "l0 = l1 = d[0] = d[1] = 0;", так как с точки зрения языка у неё нет наблюдаемых эффектов. Приватные данные останутся лежать в стековой памяти.

Перед нами разновидность CWE-14. Более распространённый вариант это потенциальной уязвимости – использование "исчезающего" memset.
  • 👍 2
Post #225 271
Post #224 281
Post #220 424
Кто на C++Russia, приходите общаться! Заодно новый мерч наберёте. Книжку подарю, кто на прошлой конференции не получил :)
  • 🔥 11
  • 👍 3
  • 🥰 2
Post #219 363
Post #217 493
Приглашаем на вебинар "C++ и неопределённое поведение" 27 февраля в 14:00.

Хотя скорее это будет формат подкаста. Мы пригласили в гости Дмитрия Свиридкина — автора книги "Путеводитель C++ программиста по неопределённому поведению". Обсудим грани, отделяющие корректный C++ код от некорректного, попросим рассказать историю написания книги, поговорим о развитии языка и его будущем.
  • 👍 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →