Ограничительная настройка (-data-range-specifications)

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

Описание

Эта опция применяется, в основном, к анализу Программы автоматического доказательства Кода. В Средстве поиска Ошибки можно только задать внешние ограничения на глобальные переменные.

Задайте ограничения (также известный как спецификации области значений данных или DRS) для глобальных переменных, входных параметров функции и возвращаемых значений заблокированных функций с помощью файла шаблона Constraint Specification. Файл шаблона является файлом XML, который можно сгенерировать в пользовательском интерфейсе Polyspace®.

Установите опцию

Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Inputs & Stubbing.

Командная строка: Используйте опцию -data-range-specifications. Смотрите информацию о Командной строке.

Почему использование эта опция

Используйте эту опцию для определения ограничений вне вашего кода.

Polyspace использует код, который вы предоставляете, чтобы сделать предположения об элементах, таких как переменные диапазоны и позволенный buffer size для указателей. Иногда предположения более широки, чем, что вы ожидаете потому что:

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

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

Из-за этих широких предположений:

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

  • Средство поиска ошибки может иногда производить ложные положительные стороны.

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

После того, как вы зададите свои ограничения, можно сохранить их как XML-файл, чтобы использовать их для последующих исследований. Если ваш исходный код изменяется, можно обновить предыдущие ограничения. Вы не должны создавать новый ограничительный шаблон.

Настройки

Никакое значение по умолчанию

Введите полный путь в файл шаблона. Поочередно, щелкните, чтобы открыть мастер Constraint Specification. Этот мастер позволяет вам сгенерировать файл шаблона или перейти к существующему файлу шаблона.

Для получения дополнительной информации смотрите, Задают Внешние Ограничения.

Информация о командной строке

Параметр: -data-range-specifications
Значение: file
Никакое значение по умолчанию
Пример (средство поиска ошибки): polyspace-bug-finder -sources file_name -data-range-specifications "C:\DRS\range.xml"
Пример (программа автоматического доказательства кода): polyspace-code-prover -sources file_name -data-range-specifications "C:\DRS\range.xml"
Пример (сервер средства поиска ошибки): polyspace-bug-finder-server -sources file_name -data-range-specifications "C:\DRS\range.xml"
Пример (сервер программы автоматического доказательства кода): polyspace-code-prover-server -sources file_name -data-range-specifications "C:\DRS\range.xml"