exponenta event banner

Дефекты надлежащей практики

Дефекты, которые позволяют наблюдать хорошие методы кодирования, такие как обнаружение жестко закодированного размера буфера памяти или неиспользуемых функциональных параметров

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

  • Жестко закодированные константы, такие как размер буфера и граница цикла

  • Неиспользуемые параметры функции

Результаты Polyspace

развернуть все

Ambiguous declaration syntaxСинтаксис объявления можно интерпретировать как объявление объекта или как часть объявления функции
Bitwise and arithmetic operation on the same dataОператор со смешанными побитовыми и арифметическими операциями
C++ reference to const-qualified type with subsequent modificationСсылка на const-квалифицированный тип впоследствии изменяется
C++ reference type qualified with const or volatileТип ссылки, объявленный с избыточным const или volatile определитель
Delete of void pointerdelete работает на void* указатель, указывающий на объект
File does not compileФайл имеет ошибку компиляции
Hard-coded buffer sizeРазмер буфера памяти - это числовое значение вместо символьной константы
Hard-coded loop boundaryКонтур представляет собой числовое значение вместо символьной константы
Hard-coded object size used to manipulate memoryМанипуляция памятью с жестко закодированным размером вместо sizeof
Incorrectly indented statementПри неправильном отступе оператора он отображается как часть блока
Incorrect syntax of flexible array member sizeГибкий элемент массива, определенный с нулевым размером или единицей
Line with more than one statementНесколько операторов в строке
Macro terminated with a semicolonОпределение макроса заканчивается точкой с запятой
Macro with multiple statementsМакрос состоит из нескольких операторов с точкой с запятой, заключенных в фигурные скобки или нет
Missing break of switch caseНет комментариев в конце варианта переключения без оператора break
Missing overload of allocation or deallocation functionПерегружена только одна функция в паре функций распределения-освобождения
Missing reset of a freed pointerУказатель free не сопровождается инструкцией reset для очистки оставшихся данных
Possibly inappropriate data type for switch expressionswitch выражение имеет тип данных, отличный от char, short, int или enum
Semicolon on same line as if, for or while statementТочка с запятой в той же строке приводит к пустому телу if, for или while заявление
Unmodified variable not const-qualifiedПеременная не const- квалифицированное, но переменное значение не изменялось в течение срока службы
Unused parameterПрототип функции имеет параметры, не считанные или записанные в теле функции
Use of a forbidden functionФункция появляется в черном списке запрещенных функций
Use of setjmp/longjmpsetjmp и longjmp причина отклонения от нормального потока управления
Useless expressions in sizeof operandsizeof операнд содержит выражение, которое не вычисляется

Темы

Группы дефектов для поиска ошибок

Проверки дефектов Bug Finder подразделяются на такие группы, как поток данных, параллелизм, числовые и т. д.