Бестиарий программирования
1.14K subscribers
406 photos
5 videos
6 files
500 links
Наблюдения за жизнью ошибок в коде.
Андрей Карпов.

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

Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8
Download Telegram
2026_09_23_Андрей_Карпов_Безопасность_транспортных_средств_PVS_Studio.pdf
772.8 KB
На днях выступал с докладом на форуме "Безопасность транспортных средств", организованном компанией "Экварта". Записи докладов пока нет, поэтому пока выкладываю свою презентацию: Анализатор PVS-Studio как средство достижения целей верификации ГОСТ Р ИСО 26262-6.
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня коллега демонстрирует, как визуально проявляют себя баги в Java коде: Нашёл ошибки в моде Create и проверил их в игре

В этой статье мы разберём ошибки в одном из самых популярных модов для Minecraft — Create. Посмотрим, как они проявляются прямо в игре, и отправим пулл-реквесты с исправлениями.
🔥3👍1
В целях нетворкинга и просто так приглашаю коннектиться в TenChat — что-то типа LinkedIn. Ссылка на мой профиль: https://m.tenchat.ru/u/uIMxo8j8
Напоминаю, что мы подготовили подборку материалов и вебинаров по теме процессов разработки безопасного ПО (РБПО) по ГОСТ Р 56939-2024.
ГОСТ56939.РФ
🔥2
Коллеги для удобства фильтрации сделали из статьи интерактивный раздел – Инструменты РБПО
🔥5
Вышел новый пресс-релиз про PVS-Studio — 8.01. В нём: расширение поддержки OWASP, поддержка новых версий Java и Go и многое другое.
👍2
Обзор нововведений в C# 15. Union-типы, закрытые иерархии, именованные break и continue, индексаторы расширений, аргументы выражения коллекции, безопасность памяти.
👍4
Всем привет, давно не писал, завайбкодился... А вы думаете я не вайбкодю? Ещё как, надо ведь понимать, как это и куда ведёт, чтобы развивать/создавать инструменты контроля всего этого :) Но про наблюдения будет следующий пост, а сейчас хочу поделиться 2 ссылками.

1) У нас появился совместный бандл с СВД ВС. По ссылке можно узнать стоимость бандла и посмотреть запись вебинара «Применение ЗОСРВ „Нейтрино“ и PVS-Studio для разработки ПО согласно требованиям МЭК 61508».

2) PVS-Studio включили в АТЛАС МедТех 2026. Смотри раздел VII - класс 17 - Решения и компетенции по информационной безопасности и инфраструктуре, применяемые в ИСЗ.
Наблюдение натуралиста за миром вайб-кодинга

Я экспериментирую с агентской разработкой, чтобы понимать какие новые проблемы она несёт. ИИ не делает ошибки и опечатки в стиле человека, но кажется быстро ведёт проект в сторону запутанности/монолита. Я прочувствовал этот момент на недавнем случае.

Есть проект, что-то типа анализатора кода. При его написании используется стандарт кодирования, адаптированный под ИИ.

Работаем над поиском определённого негативного паттерна в коде. Я объясняю ИИ, что определённый вариант кода вполне уместен – так пишут, в общем всё хорошо, давай исключение сделаем. ИИ: да, понял, код хороший, переделываем. И поправил разное.

Смотрю diff, а там, помимо прочего, изменённый файл стандарта кодирования! Что? Заглядываю – там вписано, что вот этот странный паттерн кода считается теперь одним из образцов для подражания. Facepalm.
💯5😁3
Продолжение

Для меня, задача которую мы делали и правка стандарта кодирования – сущности из разных галактик. Я даже представить не мог, что вот так задеть может. А с точки зрения ИИ – никаких проблем, всё едино – там код, тут код. Там этот код ok, значит и тут ok.

Хорошо, что я просто не нажал ok, на вроде простой задаче и не заложил файлы.

Кажется я понял, как будут происходить крушения программных проектов, где ИИ фигачит код без особого контроля. Это напоминает серию Симпсонов, где на атомной станции произошла авария из-за упавшей игрушки, которая нажимала Yes. Только здесь наоборот, аварии будут там, где как раз Yes нажимается твёрдо, чётко, регулярно. А ведь это так соблазнительно, ведь вроде работает. В общем интересно, продолжаю наблюдения.
👍3🔥1
Подводные камни битовых полей в C++
Думаю, вы знаете, что C++ — язык, который разрешает вам вообще всё. А потом молча смотрит, как вы на этом подрываетесь. Обычно мы привыкли мыслить категориями байтов, но что делать, если стандартная сетка типов кажется слишком расточительной? Когда внутренний перфекционист требует компактности, на помощь приходят битовые поля. Зачем отдавать под скромный флаг "да/нет" целый восьмибитный контейнер, если можно ювелирно отрезать ровно один бит? Поставил двоеточие — и ты повелитель памяти. Но там, где начинается экономия, заканчивается порядок и предсказуемость. Программист остается один на один с тонкостями стандартов и поведением конкретных платформ. Предлагаю вместе заглянуть под капот C++ и подробно разобрать, как на самом деле устроены битовые поля.
😭2❤1
Forwarded from 
🤖 ИИ-агенты постепенно становятся полноценными участниками процесса разработки: получают доступ к внутренним инструментам, используют накопленную экспертизу команд и самостоятельно выполняют задачи. Но вместе с ростом их возможностей возникают новые вопросы: как масштабировать агентскую разработку, контролировать качество генерируемого кода и обеспечить безопасность таких процессов?

На вебинаре обсудим практику внедрения ИИ-агентов в разработку на примере Яндекса: поговорим об инфраструктуре, нагрузке на процессы ревью, оценке качества кода и новых ролях инженеров.

Затем рассмотрим loop engineering как подход к организации безопасной агентской разработки. Разберём, как встроить инструменты статического анализа в цикл работы ИИ-агентов, какие задачи можно доверить нейросети, а какие требуют детерминированных проверок, и как организовать взаимодействие моделей и инструментов в том числе в закрытом контуре.

📌 Встречаемся 17 ноября в 15:00!

#вебинар
🔥2
Обдумывал тезис "Сейчас, в эпоху ИИ, код ничего не стоит". Обдумал. Согласен.

Но есть нюанс. По-прежнему дорого стоит сделать так, чтобы у вас получался этот самый хороший, эффективный код. ИИ усиливает, а не заменяет/улучшает.

Если вы обладаете экспертизой, знаниями в предметной области, у вас выстроены процессы разработки — с ИИ вы сделаете больше и быстрее.

Если у вас всё кое-как, то с ИИ будет ещё больше кое-чего, и вы этом утонете :)
💯6
P.S.

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

Я пытался донести, что основная ценность специалиста — работа на стыке областей знаний. Ценится тот, кто не только может писать код, но и понимает, например, стоматологов: термины, принципы работы и то, что зубов не обязательно 32 (нельзя делать массив из 32 элементов) :)

Так вот, код первых сейчас действительно ничего стоит.
💯9
Начал выкладывать по частям второе издания книги "Вредные советы для С++ программиста".
Представляем обновлённое издание книги вредных советов для C++ программистов. Мы будем публиковать её в блоге по частям. Всего вас ждёт 60 советов.

В каждой части читателю будет представлен список "советов", которым на самом деле не стоит следовать. Каждый совет сопровождается разбором, чем он вреден, и рассмотрением неочевидных моментов. Материал будет полезен новичкам, изучающим программирование, и развлечёт опытных разработчиков неожиданными нюансами программирования на C++.
🔥2