main
ФункцияPolyspace® верификация требует, чтобы ваш код имел main
функция. Можно выполнить одно из следующих действий:
Обеспечьте main
функционируйте в своем коде.
Укажите, что Polyspace должен сгенерировать main
.
main
ФункцияПеред верификацией задайте одну из следующих опций. В пользовательском интерфейсе десктопных решений Polyspace опции появляются под узлом Code Prover Verification.
Опция | Описание |
---|---|
Verify whole application | Верификация останавливается, если программное обеспечение не обнаруживает |
Verify module or library (-main-generator) | Перед верификацией Polyspace проверяет, содержит ли ваш код Если
|
main
ФункцияВо время автоматического main
генерация, программное обеспечение делает определенные предположения о последовательности вызова функции или поведении глобальных переменных. Например, значение по умолчанию автоматически сгенерировало main
моделирует следующее поведение:
Функции, что вы задаете использование опции Functions to call (-main-generator-calls)
может быть назван в произвольном порядке.
В начале каждого тела функции глобальные переменные могут иметь полный спектр значений, позволенных их типом.
Чтобы предоставить более точную модель последовательности вызова, можно вручную записать main
функция в целях верификации. Можно добавить этот main
функция в отдельном файле к вашему проекту. В некоторых случаях обеспечение точной последовательности вызова может сократить количество оранжевых проверок. Например, в следующем коде, Polyspace принимает тот f
и g
может быть назван в любом порядке. Поэтому это производит оранжевое переполнение для случая когда f
называется перед g
. Если вы знаете тот f
называется после g
, можно записать main
функционируйте, чтобы смоделировать эту последовательность.
static char x; static int y; void f(void) { y = 300; } void g(void) { x = y; }