exponenta event banner

Функции для заглушки (-functions-to-stub)

Укажите функции для заглушки во время анализа

Описание

Укажите функции для заглушки во время анализа.

Для указанных функций Polyspace ®:

  • Игнорирует определение функции, даже если оно существует.

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

Задать опцию

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

файл командной строки и параметров: Использовать параметр -functions-to-stub. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

Если требуется, чтобы анализ игнорировал код в теле функции, можно заглушить функцию.

Например:

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

  • Предположим, что анализ тела функции неточен. Анализ предполагает, что функция возвращает все возможные значения, разрешенные возвращаемым типом функции. Эту опцию можно использовать для заглушки функции, а затем указать ограничения на ее возвращаемое значение.

Настройки

По умолчанию нет

Введите имена функций или выберите их из списка.

  • Щелкните для добавления поля и введите имя функции.

  • Щелкните, чтобы перечислить функции в коде. Выберите функции из списка.

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

//simple function

void test(int a, int b);

//C++ template function

Template <class myType>
myType test(myType a, myType b);

//C++ class method

class A {
	public:
	int test(int var1, int var2);
};


//C++ template class method

template <class myType> class A
{
	public:
	myType test(myType var1, myType var2);
};

Тип функцииОсновной синтаксисСинтаксис аргумента
Простая функцияtesttest(int; int)
Функция шаблона C++testtest(myType; myType)
Метод класса C++A::testA::test(int;int)
Метод класса шаблона C++A<myType>::testA<myType>::test(myType;myType)

Совет

  • Программа Code Prover делает допущения относительно аргументов и возвращаемых значений упорных функций. Например, Polyspace предполагает, что возвращаемые значения упорных функций являются полным диапазоном. Эти допущения могут влиять на проверки в других разделах кода. См. Допущения о упорных функциях (средство проверки кода Polyspace).

  • Если функция заглушена, можно ограничить диапазон аргументов функции и возвращаемого значения. Чтобы задать ограничения, используйте опцию анализа Constraint setup (-data-range-specifications).

  • Для функций C допускаются следующие специальные символы:( ) < > ; _

    Для функций C++ допускаются следующие специальные символы: ( ) < > ; _ * & [ ]

    Символы пробела разрешены для C++, но не разрешены для C-функций.

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

Параметр: -functions-to-stub
По умолчанию нет
Значение: function1[,function2[,...]]
Пример (проверка кода): polyspace-code-prover -sources file_name -functions-to-stub function_1,function_2
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -functions-to-stub function_1,function_2