-checks-using-system-input-values)Включить более строгие проверки и предоставить примеры значений, которые приводят к обнаруженному дефекту
Этот параметр влияет только на анализ Bug Finder.
Эта опция недоступна для кода, сгенерированного в моделях MATLAB ® или Simulink ®.
Включите более строгий статический анализ для подмножества числовых и статических проверок дефектов памяти. Polyspace ® учитывает все возможные значения системных входов и предоставляет примеры значений, которые могут привести к обнаруженным дефектам. Для каждой функцииfoo который вы указываете с помощью Consider inputs to these functions (-system-inputs-from), это системные входы.
Каждый аргумент foo.
Каждое считывание глобальной переменной по foo или один из его вызывающих абонентов.
Для main() функция, анализ предполагает, что глобальные переменные инициализируются со значением 0.
Каждое считывание изменчивой переменной с помощью foo или один из его вызывающих абонентов.
Каждый возврат упорной функции. анализ Bug Finder блокирует функцию, если тело функции не указано в исходном коде.
Более строгие проверки включены для этого подмножества проверок дефектов.
Примеры значений, которые приводят к обнаруженным дефектам, можно просмотреть в столбце События (Events) панели Сведения о результатах (Results Details) интерфейса рабочего стола или веб-интерфейса Polyspace Access.
Пользовательский интерфейс (только для настольных ПК): На панели Конфигурация (Configuration) этот параметр находится в узле Анализ ошибок (Bug Finder Analysis). Другие параметры, которые также необходимо включить, см. в разделе Зависимости.
файл командной строки и параметров: Использовать параметр -checks-using-system-input-values. См. раздел Сведения о командной строке.
В анализе Bug Finder по умолчанию не отмечаются дефекты, вызванные определенными значениями неизвестных входных данных. Поскольку входные данные могут быть ограничены или инициализированы в исходном файле, который не анализируется, или конкретное значение, вызывающее дефект, может не возникнуть на практике, поведение анализа по умолчанию помогает минимизировать ложные положительные результаты.
Включите этот параметр, чтобы выполнить более строгий анализ функции, системные входы которой могут вызывать спорадические ошибки во время выполнения. Использование этой опции может привести к увеличению времени анализа.
Polyspace рассматривает все возможные значения системных входов для подмножества числовых и статических проверок дефектов памяти и предоставляет примеры значений, которые приводят к обнаруженным дефектам.
Полиспейс рассматривает возможные значения системного ввода только в том случае, если ввод ограничен ограничениями в коде, такими как assert или if. Анализ не содержит примеров значений, которые приводят к обнаруженным дефектам.
В интерфейсе рабочего стола этот параметр включен только при включении Find defects (-checkers).
Этот параметр игнорируется, если включить Use fast analysis mode for Bug Finder (-fast-analysis).
При установке внешних ограничений для глобальных переменных в анализе отображаются примеры значений глобальных переменных, вызывающих дефекты только в пределах этих ограничений. Посмотрите Constraint setup (-data-range-specifications).
Если вход является указателем pанализ предполагает, что указатель не имеет значения NULL и может быть безопасно удален. Примерным значением ввода, вызывающего дефект, является значение *p. Это значение представлено в виде массива на панели Сведения о результатах. Например, в этом фрагменте кода:
void func(int* x){
int tmp= *(x+3);
if(1/(tmp-4))
return;
}*x, *(x+1), *(x+2), и *(x+3). Стоимость *(x+3)=4 вызывает деление на ноль.Анализ рассматривает эти стандартные библиотечные функции, считывающие значения из внешних источников, как упорные функции.
getchar
getc
fgetc
scanf
Более строгий анализ учитывает все возможные значения системных входных данных, но не является исчерпывающим анализом. Если средство поиска ошибок не может определить, вызывает ли конкретный ввод дефект, дефект не отображается. Дополнительные сведения об исчерпывающем анализе см. в разделе Выбор средства поиска ошибок Polyspace и средства проверки кода Polyspace.
Параметр:
-checks-using-system-input-values |
| По умолчанию: Откл. |
Пример (поиск ошибок):
polyspace-bug-finder -sources |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -sources |
Array access out of bounds | Bitwise operation on negative value | Consider inputs to these functions (-system-inputs-from) | Float conversion overflow | Float division by zero | Float overflow | Integer conversion overflow | Integer division by zero | Integer overflow | Invalid use of standard library floating point routine | Invalid use of standard library integer routine | Null pointer | Shift of a negative value | Shift operation overflow | Sign change integer conversion overflow | Unsigned integer conversion overflow | Unsigned integer overflow