exponenta event banner

Проверки времени выполнения программы проверки кода

Polyspace ® Code Prover™ проверяет каждую операцию в коде на наличие определенных ошибок во время выполнения и отображает результат в виде проверки красным, зеленым или оранжевым цветом. Дополнительные сведения см. в разделах Результат проверки кода и Цвета исходного кода.

Необходимо проверить красный или оранжевый чек и определить, нужно ли исправлять код. В таблицах ниже перечислены проверки, выполняемые программой Polyspace Code Prover, и способы их проверки.

Проверки потока данных

ПроверитьКак просмотретьПодробнее
Function not called

Узнайте, почему функция не появляется в графике вызовов, начиная с main или другую функцию точки входа.

Проверка и исправление функции, не вызываемой проверками
Function not reachable

Определите узлы вызова функции и выясните, почему они возникают в недостижимом коде.

Просмотр и исправление проверок недоступных функций
Non-initialized local variable

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

Просмотр и исправление неинициализированных локальных проверок переменных
Non-initialized pointer

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

Просмотр и исправление неинициализированных проверок указателей
Non-initialized variable

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

Просмотр и исправление неинициализированных проверок переменных
Return value not initialized

Определение путей через тело функции, которые не заканчиваются return заявление.

Просмотр и исправление возвращаемого значения не инициализированных чеков
Unreachable code

Выясните, почему условный оператор в коде является избыточным, например, всегда true или всегда false.

Проверка и устранение недостижимых проверок кода

Численные проверки

ПроверитьКак просмотретьПодробнее
Division by zero

Просмотрите предыдущие операции в коде, которые приводят к нулевому значению знаменателя.

Проверка и исправление разделения по нулевым проверкам
Invalid shift operations

Просмотрите предыдущие операции в коде, которые приводят к смещению величины сдвига за пределы границ или к смещению отрицательного значения влево.

Просмотр и исправление недействительных проверок операций смены
Overflow

Просмотрите предыдущие операции в коде, которые приводят к переполнению операции.

Проверка и исправление проверок переполнения

Статические проверки памяти

ПроверитьКак просмотретьПодробнее
Absolute address usage

Проверьте использование абсолютного адреса в коде и убедитесь, что адреса действительны.

Проверка и исправление абсолютных проверок использования адресов
Illegally dereferenced pointer

Просмотрите предыдущие операции в коде, которые приводят к указателю, указывающему за пределы выделенного буфера памяти.

Просмотр и исправление незаконных проверок указателей
Out of bounds array index

Просмотрите предыдущие операции в коде, которые приводят к тому, что индекс массива больше или равен размеру массива.

Проверка и устранение ошибок при проверке индекса массива Bounds

Контрольные проверки потока

ПроверитьКак просмотретьПодробнее
Non-terminating call

Просмотрите операции в теле функции и определите, какая ошибка времени выполнения возникает из-за проблем, характерных для текущего вызова функции.

Просмотр и исправление проверок вызовов без завершения
Non-terminating loop

Просмотрите операции в цикле и определите, почему цикл не завершается или почему в одном из циклов возникает определенная ошибка времени выполнения.

Просмотр и исправление не завершающих проверок контура

Проверки C++

ПроверитьКак просмотретьПодробнее
Invalid C++ specific operations

Определите первопричину непозволительного размера массива или неправильного использования typeid или dynamic_cast оператор.

Просмотр и исправление недопустимых проверок операций C++
Function not returning value

Определение путей через тело функции, которые не заканчиваются return заявление.

Проверка и исправление функции, не возвращающей проверки стоимости
Incorrect object oriented programming

Выяснить, почему virtual вызов участника или this использование указателя представляет неверный шаблон объектно-ориентированного программирования.

Просмотр и исправление неправильных объектно-ориентированных проверок программирования
Null this-pointer calling method

Выяснить, почему указатель на текущий объект может быть NULL-значение.

Проверка и исправление пустых проверок метода вызова этого указателя
Uncaught exception

Изучите, как исключение может избежать потери функции, в которой оно создается.

Проверка и исправление неподтвержденных проверок особых ситуаций

Другие проверки

ПроверитьКак просмотретьПодробнее
Correctness condition

Найдите основную причину неправильного использования указателя функции, неправильного преобразования массива или значений переменных за пределами указанных ограничений.

Проверка и исправление проверки состояния корректности
Invalid use of standard library routine

Узнайте, почему аргументы в текущем вызове стандартной подпрограммы библиотеки недопустимы.

Просмотр и исправление недопустимого использования стандартных стандартных проверок библиотеки
User assertion

Выяснить, почему условие в assert не удается выполнить инструкцию.

Проверка и исправление проверок утверждения пользователя