Бестиарий программирования
Открыть в Telegram
Наблюдения за жизнью ошибок в коде. Андрей Карпов. ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8
Больше1 138
Подписчики
Нет данных24 часа
-17 дней
+330 дней
Загружаем данные
Похожие каналы
Нет данных
Возникли проблемы? Пожалуйста, обновите страницу или обратитесь к нашему support-менеджеру .
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
октябрь '26окт. '26
октябрь '26
+7
в 0 каналах
сентябрь '26
+15
в 1 каналах
Get PRO
август '26
+6
в 0 каналах
Get PRO
июль '26
+43
в 0 каналах
Get PRO
июнь '26
+30
в 6 каналах
Get PRO
май '26
+42
в 1 каналах
Get PRO
апрель '26
+34
в 2 каналах
Get PRO
март '26
+24
в 1 каналах
Get PRO
февраль '26
+103
в 0 каналах
Get PRO
январь '26
+101
в 2 каналах
Get PRO
декабрь '25
+136
в 8 каналах
Get PRO
ноябрь '25
+75
в 5 каналах
Get PRO
октябрь '25
+67
в 4 каналах
Get PRO
сентябрь '25
+75
в 7 каналах
Get PRO
август '25
+67
в 5 каналах
Get PRO
июль '25
+119
в 5 каналах
Get PRO
июнь '25
+143
в 8 каналах
Get PRO
май '25
+107
в 2 каналах
Get PRO
апрель '25
+28
в 4 каналах
Get PRO
март '250
в 0 каналах
Get PRO
февраль '250
в 0 каналах
Get PRO
январь '250
в 2 каналах
Get PRO
декабрь '240
в 0 каналах
Get PRO
ноябрь '240
в 0 каналах
Get PRO
октябрь '240
в 2 каналах
Get PRO
сентябрь '240
в 1 каналах
Get PRO
август '240
в 0 каналах
Get PRO
июль '240
в 0 каналах
Get PRO
июнь '240
в 0 каналах
Get PRO
май '240
в 0 каналах
Get PRO
апрель '240
в 0 каналах
Get PRO
март '240
в 0 каналах
Get PRO
февраль '240
в 0 каналах
Get PRO
январь '240
в 0 каналах
Get PRO
декабрь '230
в 0 каналах
Get PRO
ноябрь '230
в 0 каналах
Get PRO
октябрь '230
в 0 каналах
Get PRO
сентябрь '23
+1
в 0 каналах
Get PRO
август '23
+1
в 0 каналах
Get PRO
июль '23
+3
в 0 каналах
Get PRO
июнь '23
+2
в 0 каналах
Get PRO
май '23
+3
в 0 каналах
Get PRO
апрель '23
+13
в 0 каналах
Get PRO
март '23
+15
в 0 каналах
Get PRO
февраль '23
+6
в 0 каналах
Get PRO
январь '23
+4
в 0 каналах
Get PRO
декабрь '22
+290
в 0 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 29 октября | 0 | |||
| 28 октября | 0 | |||
| 27 октября | 0 | |||
| 26 октября | 0 | |||
| 25 октября | 0 | |||
| 24 октября | 0 | |||
| 23 октября | 0 | |||
| 22 октября | 0 | |||
| 21 октября | +1 | |||
| 20 октября | 0 | |||
| 19 октября | 0 | |||
| 18 октября | 0 | |||
| 17 октября | +1 | |||
| 16 октября | 0 | |||
| 15 октября | 0 | |||
| 14 октября | 0 | |||
| 13 октября | 0 | |||
| 12 октября | +1 | |||
| 11 октября | +1 | |||
| 10 октября | 0 | |||
| 09 октября | +1 | |||
| 08 октября | 0 | |||
| 07 октября | 0 | |||
| 06 октября | +1 | |||
| 05 октября | 0 | |||
| 04 октября | 0 | |||
| 03 октября | 0 | |||
| 02 октября | 0 | |||
| 01 октября | +1 |
Посты канала
Обзор нововведений в C# 15. Union-типы, закрытые иерархии, именованные break и continue, индексаторы расширений, аргументы выражения коллекции, безопасность памяти.
| 2 | Вышел новый пресс-релиз про PVS-Studio — 8.01. В нём: расширение поддержки OWASP, поддержка новых версий Java и Go и многое другое. | 436 |
| 3 | Коллеги для удобства фильтрации сделали из статьи интерактивный раздел – Инструменты РБПО | 478 |
| 4 | Как мы научили JavaScript анализатор понимать поток управления | 513 |
| 5 | Напоминаю, что мы подготовили подборку материалов и вебинаров по теме процессов разработки безопасного ПО (РБПО) по ГОСТ Р 56939-2024.
ГОСТ56939.РФ | 600 |
| 6 | Запись вебинара: Go vet не поможет... Как сделать свой анализатор кода для Go? | 601 |
| 7 | В целях нетворкинга и просто так приглашаю коннектиться в TenChat — что-то типа LinkedIn. Ссылка на мой профиль: https://m.tenchat.ru/u/uIMxo8j8 | 491 |
| 8 | Сегодня коллега демонстрирует, как визуально проявляют себя баги в Java коде: Нашёл ошибки в моде Create и проверил их в игре
> В этой статье мы разберём ошибки в одном из самых популярных модов для Minecraft — Create. Посмотрим, как они проявляются прямо в игре, и отправим пулл-реквесты с исправлениями. | 597 |
| 9 | Нет текста... | 456 |
| 10 | На днях выступал с докладом на форуме "Безопасность транспортных средств", организованном компанией "Экварта". Записи докладов пока нет, поэтому пока выкладываю свою презентацию: Анализатор PVS-Studio как средство достижения целей верификации ГОСТ Р ИСО 26262-6. | 445 |
| 11 | Нет текста... | 412 |
| 12 | Кажется, я ментально синхронизировался с миром РБПО. Сегодня на РБПО.рф опубликовали карту инструментов РБПО. Дело в том, что несколько предыдущих дней мы занимались приблизительно тем же самым.
Так что теперь две подборки :)
Наш вариант — Список инструментов для РБПО. | 415 |
| 13 | Кажется, я ментально синхронизировался с миром РБПО. Сегодня на РБПО.рф опубликовали карту инструментов РБПО. Дело в том, что несколько предыдущих дней мы занимались приблизительно тем же самым. Так что теперь две подборки :)
Наш вариант — Список инструментов для РБПО. | 1 |
| 14 | "Лаборатория Касперского" разрабатывает микроядерную операционную систему KasperskyOS в соответствии с принципом Secure by Design (конструктивная безопасность). Этот принцип предполагает, что защищённость системы закладывается на уровне её архитектуры. К качеству и надёжности операционной системы предъявляются высокие требования, а доверенные компоненты проходят тщательную проверку, одним из этапов которой является статический анализ кода.
"Лаборатория Касперского" использует PVS-Studio в разработке операционной системы KasperskyOS с 2016 года. За это время некоторые обращения разработчиков в нашу поддержку превратились в новые функции анализатора, доступные теперь всем пользователям PVS-Studio. Разбираем пять таких случаев и показываем, как обратная связь корпоративного клиента влияет на развитие продукта. | 558 |
| 15 | Пример, как идеология педантичности стандарта MISRA C защищает от ошибок
В C литерал 0 можно присваивать как численным типам, так и указателю (вместо NULL). Правило MISRA C 2012/2023 11.9, которое говорит, что нужно использовать именно NULL, может казаться избыточным. Например, здесь:
typedef struct FT_Outline_
{
short n_contours; /* number of contours in glyph */
short n_points; /* number of points in the glyph */
FT_Vector* points; /* the outline's points */
char* tags; /* the points flags */
short* contours; /* the contour end points */
int flags; /* outline masks */
} FT_Outline;
....
static const FT_Outline null_outline = { 0, 0, 0, 0, 0, 0 };
V2648 Use NULL macro instead of literal zero for pointers.
Если заменить некоторые 0 на NULL никому лучше не станет.
static const FT_Outline null_outline = { 0, 0, NULL, NULL, NULL, 0 };
Правило, кажется, просто украшательством стиля написания кода. Лишнее ограничение при написании кода... Какой практический прок? Давайте посмотрим, как такое предупреждение помогает выявить реальную ошибку.
typedef char FAR * FAR * png_charpp;
....
png_size_t
png_check_keyword(...., png_charpp new_key)
{
....
if (key_len > 79)
{
png_warning(....);
new_key[79] = '\0'; // <= V2648
key_len = 79;
}
....
}
Обратите внимание на тип переменной new_key – это указатель на указатель. Из-за опечатки, терминальный ноль обнуляет указатель, а не записывается в строку. Правильный вариант кода:
(*new_key)[79] = '\0';
Благодаря осмотрительной педантичности найдена реальная ошибка.
На самом деле, PVS-Studio и раньше эту ошибку находил с помощью другой диагностики – V527 It is odd that the '\0' value is assigned to 'char' type pointer. Но здесь именно хотелось продемонстрировать, как работают и помогают MISRA правила. Вообще ситуация, что один и тот-же баг выявляется разными детекторами, вполне частая ситуация и удивляться этому не стоит.
Почему я про MISRA вспомнил?
Во-первых, мои коллеги сейчас занимаются подготовкой квалификационного пакета PVS-Studio согласно ГОСТ Р МЭК 61508 и ГОСТ Р ИСО 26262 по поддержке MISRA C:2012 и MISRA C:2023.
Во-вторых, 23 сентября я буду с докладом "Анализатор PVS-Studio как средство достижения целей верификации ГОСТ Р ИСО 26262-6" на форуме "Безопасность транспортных средств". Приглашаю посетить мероприятие и мой доклад. | 416 |
| 16 | Сегодня у меня для любителей C++: Каждая идиома когда-то была проблемой.
Красивый и надёжный код почти никогда не рождается с первого раза. Сначала появляются ошибки, а уже потом – идиомы, которые помогают их избегать. На вебинаре рассмотрели реальные фрагменты кода из открытых проектов на языке C++, нашли в них проблемные места с помощью статического анализа, и разобрали более 10 идиом и паттернов, которые позволят защитить ваш код.
А для Java-разработчиков: 96-й подкаст Javaswag: Gradle, плагины для Minecraft и статический анализ в PVS-Studio.
Обсудили, как войти в Java через моды и серверы Minecraft, почему мир кубов живет на Netty и Gradle, как грамотно организовать мультимодульные проекты с помощью build-logic и type-safe accessor'ов, а также заглянули под капот разработки статических анализаторов кода (от поиска багов и Taint-анализа до соответствия ГОСТам). | 483 |
| 17 | Нет текста... | 765 |
| 18 | Всем привет. Я уже делал цикл из 5 вебинаров про ГОСТ Р 71207—2024 (Статический анализ программного обеспечения): Общее описание и актуальность, Терминология, Критические ошибки, Технологии анализа кода, Процессы.
С тех времён я переосмыслил некоторые моменты. Прошли испытания статических анализаторов. Вышел ГОСТ Р 56939—2024 и так далее.
Поэтому меня посетила мысль вновь сделать обзор стандарта, но немного в другом формате: брать разные фрагменты из него и комментировать/обсуждать. Образно говоря, читать и разбирать ГОСТ вслух с интонацией, комментариями и отсылками :)
Это можно сделать по-разному:
1. Просто сесть и сделать записи. Потом это можно будет слушать как мини аудио-книгу/подкаст.
2. Сделать стрим, где попутно будут задаваться вопросы по разбираемому месту.
Второй вариант подразумевает, что это будет интересно аудитории и люди соберутся, иначе теряется смысл и проще пойти по первому пути. Решил сделать предварительный опрос. | 800 |
| 19 | Нет текста... | 3 |
| 20 | Тяжело, когда ты программист и привык чётко воспринимать условия в повествовании :)
Из описания конференции.
Мы не делаем
* Без воды и теории из интернета
* Без курсов и инфоцыган
* Не продаём и не рекламируем со сцены | 442 |
