Обеспечьте контекст для верификации кода С

Этот пример показывает, как обеспечить контекст для вашей верификации кода С. Если вы используете опции по умолчанию и не обеспечиваете функцию main, Polyspace® Code Prover™ проверяет ваш код на робастность против всех условий верификации. Например, программное обеспечение:

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

  • Генерирует main, который вызывает невостребованные функции в произвольном порядке.

Кроме того, если вы не задаете функцию, но объявляете и вызываете ее в вашем коде, Polyspace блокирует функцию. Для подробного списка предположений смотрите Аналитические Предположения Программы автоматического доказательства Кода.

Можно использовать аналитические опции на панели Configuration, чтобы изменить поведение по умолчанию и обеспечить больше контекста о коде. Выполнение контекстной верификации может привести к более доказанному коду и поэтому меньшему количеству оранжевых проверок.

Область значений контрольной переменной

Используйте следующие опции. В пользовательском интерфейсе десктопных решений Polyspace опции появляются под узлом Code Prover Verification.

ОпцияЦель
Variables to initialize (-main-generator-writes-variables)Задайте глобальные переменные, которые Polyspace не должен рассматривать, как инициализировано несмотря ни на какую явную инициализацию в коде.
Constraint setup (-data-range-specifications)Задайте область значений для глобальных переменных.

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

Используйте следующие опции. В пользовательском интерфейсе десктопных решений Polyspace опции появляются под узлом Code Prover Verification.

ОпцияЦель
Initialization functions (-functions-called-before-main)Задайте функции, которые сгенерированный main должен вызвать сначала.
Functions to call (-main-generator-calls)Задайте функции, которые сгенерированный main должен вызвать позже.

Управляйте блокирующим поведением

Используйте следующие опции. В пользовательском интерфейсе десктопных решений Polyspace опции появляются под узлом Inputs & Stubbing.

ОпцияЦель
Functions to stub (-functions-to-stub)Задайте функции, которые должен заблокировать Polyspace.

Похожие темы