Как стать автором
Обновить

Комментарии 19

НЛО прилетело и опубликовало эту надпись здесь
Плагин для Visual Studio будет работать во всех редакциях: Community, Professional или Enterprise. Или что Вы имели ввиду?
Как я понял, хотят узнать:
Можно ли прочитать лицензию на PVS-Studio без скачивания самого софта
Подозреваю, что самый первый случай — обман статического анализатора в компиляторе, но зуб не дам.
«В условии не хватает переменной hotY. Классическая опечатка.»
там еще в вывод идёт красота — x везде и всюду. так что может так и задумано.
Может в теле условия всё верно написано, но из-за опечатки в условном выражении стали обрабатываться не все случаи.
Спасибо за статью!
Очень странный «спешный» код, непонятно только куда так рваться с Yet Another Game Engine, если рынок неплохо насыщен. И гигантами и поменьше решениями.
Толь подразделение прям совсем еще только распустилось и технологические процессы не устаканились, толь есть хитрый план.
НЛО прилетело и опубликовало эту надпись здесь
У меня сомнения насчёт хороших программистов.
Больше года назад они сломали Amazon Developer Console для PC/Mac игр, и с тех пор не починили.
Я устал в саппорт писать, половина писем просто остаются без ответа.

Когда читаешь такой материал, невольно задаешься вопросом, как этот софт вообще запускается с таким количеством ошибок.
Даже если и запустился, кажется, сделай неверное движение и все сломается :)

Некоторые ошибки из статьи некритичны. Например, size_t pos = i * 2 + (v1 == 0xff) ? 1 : 2; ведёт только к неправильном у логированию в случае какой-то другой ошибки. Вообще ветки обработки ошибок как правило самые недотестированные.

Интересно, а array overrun — это у вас потоковый анализ ловит или по шаблонам находите? А если потоковый, то как вы доказываете, что состояние index == size действительно достижимо, а не эфемерно? В общем случае этого нельзя доказать статически, всегда можно придумать код, на котором будет ложная сработка. Как такие сработки свести к минимуму?

Это Data Flow анализ.

Как вы доказываете состояние index == size действительно достижимо, а не эфемерно?
Здесь мы не можем это доказать. Но почти всегда это ошибка и этого достаточно. Или код с сильным запахом.

Как такие сработки свести к минимуму?
Это отдельная большая тема: Как и почему статические анализаторы борются с ложными срабатываниями.
Это отдельная большая тема

Ну я же конкретно про этот случай спросил, а не про большую тему.

Тогда ответ: если что-то невозможно вычислить, то уменьшение ложных срабатываний осуществляется с помощью различных исключений в различных диагностиках. Т.е. рассматриваются отдельные правильные паттерны, индивидуальные для каждого чекера.
всегда можно придумать код, на котором будет ложная сработка. Как такие сработки свести к минимуму?

— Доктор, когда я сюда нажимаю, мне больно!
— Не нажимайте!

Необязательно такой код придумывать из головы, можно и в дикой природе найти.

Слегка не в тему, но мне интересно, проверяете ли вы PVS-Studio с помощью PVS-Studio?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий