Бестиарий программирования
رفتن به کانال در 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 |
