Настройка существующего шаблона отчета Code Prover

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

Для получения дополнительной информации о существующих шаблонах смотрите Bug Finder and Code Prover report (-report-template).

Необходимые условия

Перед настройкой шаблона отчета выполните следующие действия:

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

    Чтобы протестировать шаблон, сгенерируйте отчет из выборочных результатов верификации с помощью шаблона. См. «Генерация отчетов».

  • Убедитесь, что у вас есть MATLAB® Сообщите о Generator™, установленных в вашей системе.

В этом примере вы изменяете шаблон Developer, который доступен в Polyspace® Code Prover™.

Просмотр компонентов шаблона

Шаблон отчета может быть разбит на компоненты в MATLAB Report Generator. Каждый компонент представляет некоторые сведения, включенные в отчет, сгенерированный с помощью шаблона. Например, Title Page компонента представляет информацию на титульной странице отчета.

В этом примере вы просматриваете компоненты шаблона Developer.

  1. Добавьте пути к специфичным для Polyspace компонентам отчета путем указания подпапок установочной папки Polyspace. В командной строке MATLAB введите:

    addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'psrptgen'));
    addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'templates'));

    Здесь, polyspaceroot является папкой установки Polyspace, например C:\Program Files\Polyspace\R2019a. Если вы интегрируете MATLAB и Polyspace, можно использовать polyspaceroot функция в MATLAB для поиска местоположения папки установки. См. «Интеграция Polyspace с MATLAB и Simulink».

  2. Откройте интерфейс Report Explorer. В командной строке MATLAB введите:

    report

  3. Откройте шаблон Developer в интерфейсе Report Explorer.

    Шаблон Developer в polyspaceroot/ toolbox/polyspace/psrptgen/templates где polyspaceroot - папка установки Polyspace.

Шаблон откроется в Report Explorer. На левой панели можно увидеть компоненты шаблона. Можно кликнуть каждый компонент и просмотреть свойства компонентов на правой панели.

Некоторые компоненты шаблона Developer и их назначение описаны ниже.

КомпонентЦель
Title Page(Генератор отчетов MATLAB)

Вставляет титульную страницу в начало отчета

Chapter/Subsection(Генератор отчетов MATLAB)

Сгруппировать фрагменты отчета в разделы с заголовками

Code Verification Summary

Вставляет сводную таблицу результатов анализа Polyspace

Logical If(Генератор отчетов MATLAB)

Выполнение дочерних компонентов только в случае выполнения условия

Run-time Checks Summary Ordered by File

Вставляет таблицу с проверками Polyspace Code Prover, сгруппированными по файлам

Чтобы понять, как работает шаблон, сравните компоненты в шаблоне с отчетом, сгенерированным с помощью шаблона.

Для получения дополнительной информации обо всех компонентах смотрите Работа с компонентами (MATLAB Report Generator). Для получения информации о компонентах, относящихся к Polyspace, см. Раздел «Генерация отчетов».

Примечание

Некоторые свойства компонентов задаются с помощью внутренних выражений. Хотя вы можете просматривать выражения, не изменяйте их. Например, условия, заданные в компонентах Logical If в шаблоне Developer, задаются с помощью внутренних выражений.

Изменение компонентов шаблона

В интерфейсе Report Explorer можно:

  • Изменение свойств существующих компонентов шаблона.

  • Добавьте новые компоненты в шаблон или удалите существующие.

В этом примере вы добавляете компонент к шаблону Developer, который фильтрует Unreachable code проверки из отчета, сгенерированного с помощью шаблона.

  1. Откройте шаблон Developer в интерфейсе Report Explorer и сохраните его в другом месте с другим именем, например, Developer_without_UNR.

  2. Добавьте новый глобальный компонент, который фильтрует Unreachable code проверяет из шаблона Developer_without_UNR. Компонент является глобальным, поскольку он применяется к полному отчету, а не к одной главе доклада.

    Чтобы выполнить это действие:

    1. Перетащите компонент Report Customization (Filtering) на средней панели и перетащите его над компонентом Title Page. Позиционирование компонента обеспечивает применение фильтров к полному отчету, а не к одной главе отчета.

    2. Выберите Report Customization (Filtering) компонент. На правой панели можно задать свойства этого компонента. По умолчанию свойства заданы так, чтобы все результаты были включены в отчет.

      Чтобы исключить Unreachable code проверки, в группе Advanced Filters введите ^(?!Unreachable code).* в поле Check types to include.

      В это поле можно ввести регулярные выражения MATLAB. Генератор отчетов применяет регулярные выражения к именам результатов Polyspace. Для образца:

      • Следите за ^ указывает, что последующий шаблон должен находиться в начале строки.

      • Символы (?! pattern) указывает, что последующий шаблон не должен отображаться в строке.

      Вместе регулярное выражение ^(?!Unreachable code).* указывает, что имена результатов Polyspace начинаются с Unreachable code необходимо исключить из отчета. Смотрите результаты регулярных выражений и Polyspace Code Prover.

      Можно переключаться между активацией и деактивацией этого компонента. Щелкните правой кнопкой мыши компонент и выберите Activate/Deactivate Component.

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

    Чтобы выполнить это действие:

    1. На левой панели выберите Run-time Checks Details Ordered by Color/File компонент. Этот компонент создает таблицы в отчете с подробной информацией о проверках во время выполнения, обнаруженных в Polyspace Code Prover.

      На правой панели показаны свойства этого компонента.

    2. Очистите Override Global Report блок фильтра.

  4. В пользовательском интерфейсе Polyspace создайте отчет с использованием шаблона Developer и Developer_without_UNR из результатов, содержащих проверки Unreachable code. Сравните эти два отчета.

    Для образца:

    1. Откройте Help > Examples > Code_Prover_Example.psprj.

      Демонстрационный результат содержит Unreachable code проверки.

    2. Создайте PDF отчет с помощью шаблона Developer.

      В докладе откройте главу 5. Результаты проверок во время выполнения Polyspace. Вы можете увидеть серые проверки Unreachable code. Закройте отчет.

    3. Создайте PDF отчет с помощью шаблона Developer_without_UNR. В окне Запуск отчета используйте кнопку Browse, чтобы добавить шаблон Developer_without_UNR в существующий список шаблонов.

      В докладе откройте главу 6. Результаты проверок во время выполнения Polyspace. Вы не видите серых чеков Unreachable code.

      Примечание

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

Дальнейшие исследования

Измените шаблон Developer так, чтобы файл initialisations.c исключается из отчета, сгенерированного с помощью шаблона. Сгенерируйте отчет из результатов Code_Prover_Example с помощью измененного шаблона и проверьте, что файл initialisations.c исключается из отчета.

Подсказка: Регулярное выражение, которое вы должны использовать ^(?!.*initialisations.c).*

Дополнительные примеры см. Выборку Индивидуальных настроек шаблона отчета.

См. также

| |

Похожие темы