Polyspace ® Code Prover™ проверяет каждую операцию в коде на наличие определенных ошибок во время выполнения и отображает результат в виде проверки красным, зеленым или оранжевым цветом. Дополнительные сведения см. в разделах Результат проверки кода и Цвета исходного кода.
Необходимо проверить красный или оранжевый чек и определить, нужно ли исправлять код. В таблицах ниже перечислены проверки, выполняемые программой Polyspace Code Prover, и способы их проверки.
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Function not called |
Узнайте, почему функция не появляется в графике вызовов, начиная с | Проверка и исправление функции, не вызываемой проверками |
Function not reachable |
Определите узлы вызова функции и выясните, почему они возникают в недостижимом коде. | Просмотр и исправление проверок недоступных функций |
Non-initialized local variable |
Найдите предыдущие инициализации переменных, если таковые имеются, и проверьте, может ли программа обойти их. | Просмотр и исправление неинициализированных локальных проверок переменных |
Non-initialized pointer |
Найдите предыдущие инициализации указателей, если таковые имеются, и проверьте, может ли программа обойти их. | Просмотр и исправление неинициализированных проверок указателей |
Non-initialized variable |
Найдите предыдущие инициализации глобальной переменной, если таковые имеются, и проверьте, может ли программа обойти их. | Просмотр и исправление неинициализированных проверок переменных |
Return value not initialized |
Определение путей через тело функции, которые не заканчиваются | Просмотр и исправление возвращаемого значения не инициализированных чеков |
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 |
Просмотрите операции в цикле и определите, почему цикл не завершается или почему в одном из циклов возникает определенная ошибка времени выполнения. | Просмотр и исправление не завершающих проверок контура |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Invalid C++ specific operations |
Определите первопричину непозволительного размера массива или неправильного использования | Просмотр и исправление недопустимых проверок операций C++ |
Function not returning value |
Определение путей через тело функции, которые не заканчиваются | Проверка и исправление функции, не возвращающей проверки стоимости |
Incorrect object oriented programming |
Выяснить, почему | Просмотр и исправление неправильных объектно-ориентированных проверок программирования |
Null this-pointer calling method |
Выяснить, почему указатель на текущий объект может быть | Проверка и исправление пустых проверок метода вызова этого указателя |
Uncaught exception |
Изучите, как исключение может избежать потери функции, в которой оно создается. | Проверка и исправление неподтвержденных проверок особых ситуаций |
| Проверить | Как просмотреть | Подробнее |
|---|---|---|
Correctness condition |
Найдите основную причину неправильного использования указателя функции, неправильного преобразования массива или значений переменных за пределами указанных ограничений. | Проверка и исправление проверки состояния корректности |
Invalid use of standard library routine |
Узнайте, почему аргументы в текущем вызове стандартной подпрограммы библиотеки недопустимы. | Просмотр и исправление недопустимого использования стандартных стандартных проверок библиотеки |
User assertion |
Выяснить, почему условие в | Проверка и исправление проверок утверждения пользователя |