Верификация Polyspace Кода C/C++, Сгенерированного MATLAB Coder

Чтобы проверять на ошибки времени выполнения в коде C/C++, сгенерированном из кода MATLAB®, можно использовать Polyspace® Code Prover™. Чтобы проверять на дефекты, можно использовать Polyspace Bug Finder™. Если у вас есть Polyspace и Embedded Coder®, Polyspace интегрирован в рабочий процесс MATLAB Coder™.

  • В приложении MATLAB Coder можно запустить анализ Polyspace без дополнительной настройки.

  • В командной строке, после генерации кода с codegen, можно запустить анализ Polyspace сгенерированного кода путем обеспечения генерации кода выходной папки pslinkrun.

Запустите анализ Polyspace в приложении MATLAB Coder

  1. Сгенерируйте автономный код C/C++ (статическая библиотека, динамически подключаемая библиотека или исполняемая программа).

  2. На странице Generate Code нажмите Polyspace.

  3. Выберите опции. Смотрите Конфигурируют Усовершенствованные Опции Polyspace в Приложении MATLAB Coder (Polyspace Code Prover).

  4. Нажмите Run.

    Приложение регистрирует анализ выход на вкладке Polyspace Log и открывает пользовательский интерфейс Polyspace.

Запустите анализ Polyspace кода, сгенерированного codegen

  1. Создайте pslinkoptions объект для верификации кода сгенерирован MATLAB Coder.

  2. По мере необходимости измените свойства объектов:

    • В ResultDir свойство, задайте имя папки для результатов Polyspace.

    • В VerificationMode свойство, задайте продукт верификации Polyspace.

  3. Запустите верификацию при помощи pslinkrun. Обеспечьте pslinkoptions возразите и папка, которая содержит сгенерированный код.

  4. Чтобы просмотреть результаты верификации, откройте пользовательский интерфейс Polyspace.

Например, предположите, что вы сгенерировали статическую библиотеку для функции MATLAB myFunction и то, что генерация кода вывела папку, является codegen/lib/myFunction. Чтобы запустить Polyspace Code Prover на сгенерированном коде, используйте этот код:

opts = pslinkoptions('codegen');
opts.ResultDir = 'polyspace';
opts.VerificationMode = 'CodeProver';
pslinkrun('-codegenfolder', 'codegen/lib/myFunction', opts);
polyspaceCodeProver('polyspace/myFunction.psprj');

Можно также установить VerificationMode свойство к 'BugFinder' и просмотрите результаты верификации при помощи polyspaceBugFinder.

Рассмотрите результаты анализа

В панели Results List пользовательского интерфейса Polyspace рассмотрите проверки на этапе выполнения. Смотрите, можно ли проследить проблемы до оригинального кода MATLAB. Смотрите В интерактивном режиме Трассировку Между кодом MATLAB и Сгенерированным Кодом C/C++.

Например, операция в коде С может переполниться, потому что Polyspace принимает неограниченную область значений для входного параметра функции. Рассмотрите определение ограничения на вход и переанализа кода с Polyspace. Смотрите Polyspace Запуска на Коде C/C++, Сгенерированном из кода MATLAB (Polyspace Code Prover).

Смотрите также

|

Похожие темы