Бестиарий программирования
الذهاب إلى القناة على Telegram
Наблюдения за жизнью ошибок в коде. Андрей Карпов. ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8
إظهار المزيد1 138
المشتركون
لا توجد بيانات24 ساعات
-17 أيام
+330 أيام
جارٍ تحميل البيانات
القنوات المماثلة
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
سحابة العلامات
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
أكتوبر '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 |
