В этом примере показано, как настроить существующий шаблон отчета в соответствии с требованиями пользователя. Шаблон отчета позволяет создавать отчет на основе результатов анализа в определенном формате. Если существующий шаблон отчета не соответствует вашим требованиям, можно изменить некоторые аспекты шаблона.
Дополнительные сведения о существующих шаблонах см. в разделе Bug Finder and Code Prover report (-report-template).
Перед настройкой шаблона отчета:
Проверьте, соответствует ли существующий шаблон отчета вашим требованиям. Определите шаблон, который создает отчеты в формате, близком к требуемому. Этот шаблон можно адаптировать.
Для тестирования шаблона создайте отчет на основе образцов результатов с использованием шаблона. См. раздел Создание отчетов.
Убедитесь, что в системе установлена программа MATLAB ® Report Generator™.
В этом примере изменяется шаблон BugFinder, доступный в программе Polyspace ® Bug Finder™.
Шаблон отчета может быть разбит на компоненты в генераторе отчетов MATLAB. Каждый компонент представляет некоторую информацию, включенную в отчет, созданный с помощью шаблона. Например, титульная страница компонента представляет информацию на титульной странице отчета.
В этом примере рассматриваются компоненты шаблона BugFinder.
Добавьте пути к компонентам отчета Polyspace, указав вложенные папки папки установки Polyspace. В командной строке MATLAB введите:
addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'psrptgen')); addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'templates'));
Здесь, является папкой установки Polyspace, например, polyspacerootC:\Program Files\Polyspace\R2019a. При интеграции MATLAB и Polyspace можно использовать polyspaceroot в MATLAB для поиска расположения установочной папки. См. раздел Интеграция полиспейса с MATLAB и Simulink.
Откройте интерфейс проводника отчетов. В командной строке MATLAB введите:
report
Откройте шаблон BugFinder в интерфейсе проводника отчетов.
Шаблон BugFinder находится в где polyspaceroot/toolbox/polyspace/psrptgen/templates/bug_finder является папкой установки Polyspace.polyspaceroot
Шаблон откроется в проводнике отчетов. На левой панели отображаются компоненты шаблона. Можно щелкнуть каждый компонент и просмотреть свойства компонента на правой панели.

Некоторые компоненты шаблона BugFinder и их назначение описаны ниже.
| Компонент | Цель |
|---|---|
Title Page(Генератор отчетов MATLAB) | Вставка титульной страницы в начало отчета |
Chapter/Subsection(Генератор отчетов MATLAB) | Группирует части отчета по разделам с заголовками |
Code Verification Summary | Вставка сводной таблицы результатов анализа Polyspace |
Logical If(Генератор отчетов MATLAB) | Выполняет дочерние компоненты, только если условие выполнено |
Run-time Checks Summary Ordered by File | Вставка таблицы с дефектами Polyspace Bug Finder, сгруппированными по файлам |
Чтобы понять, как работает шаблон, сравните компоненты шаблона с отчетом, созданным с помощью шаблона.
Дополнительные сведения о компонентах см. в разделе Работа с компонентами (генератор отчетов MATLAB). Сведения о компонентах, специфичных для Polyspace, см. в разделе Создание отчетов.
Примечание
Некоторые свойства компонента задаются с помощью внутренних выражений. Хотя выражения можно просматривать, не изменяйте их. Например, условия, указанные в компонентах Logical If в шаблоне BugFinder, задаются с помощью внутренних выражений.
В интерфейсе Report Explorer можно выполнять следующие действия:
Изменение свойств существующих компонентов шаблона.
Добавьте новые компоненты в шаблон или удалите существующие компоненты.
В этом примере компонент добавляется к шаблону BugFinder, так что шаблон включает только целочисленное деление на ноль и плавающее деление на ноль дефектов в отчете.
Откройте шаблон BugFinder в интерфейсе Report Explorer и сохраните его в другом месте с другим именем, например, BugFinder_Division_by_Zero.
Добавьте новый глобальный компонент, фильтрующий все дефекты, кроме деления на ноль, из шаблона BugFinder_Division_by_Zero. Компонент является глобальным, поскольку применяется к полному отчету, а не к одной главе отчета.
Для выполнения этого действия:
Перетащите компонент Report Customization (Filtering) в средней области и поместите его над компонентом титульной страницы. Расположение компонента обеспечивает применение фильтров к полному отчету, а не к одной главе отчета.

Выберите компонент Настройка отчета (фильтрация). На правой панели можно задать свойства этого компонента. По умолчанию свойства задаются так, чтобы все результаты включались в отчет.
Чтобы включить только целочисленное деление по нулю и плавающее деление по нулю дефектов, в группе Дополнительные фильтры введите Integer division by zero и Float division by zero в поле Типы проверки для включения.

Для исключения результатов можно также использовать регулярные выражения MATLAB в этом поле. Например, чтобы исключить результат Dead code, введите ^(?!Dead code).*. Генератор отчетов применяет регулярные выражения к именам результатов Polyspace. Например:
Знак вставки ^ указывает, что последующий шаблон должен находиться в начале строки.
Знаки (?! указывает, что последующий шаблон не должен отображаться в строке.pattern).*
Вместе, регулярное выражение ^(?!Dead code).* указывает, что имена результатов Polyspace начинаются с Dead code должен быть исключен из отчета. См. раздел Регулярные выражения.
Можно переключаться между активацией и деактивизацией этого компонента. Щелкните правой кнопкой мыши компонент и выберите «Активировать/Деактивировать компонент».
Измените существующий специфичный для главы компонент, чтобы он не переопределял глобальный фильтр, примененный на предыдущем шаге. Если переопределение не выполняется, специфичный для главы компонент следует спецификациям фильтрации в глобальном компоненте.
Для выполнения этого действия:
На левой панели выберите Run-time Checks Details Ordered by Color/File компонент. Этот компонент создает таблицы в отчете с подробной информацией о проверках времени выполнения, найденных в Polyspace Bug Finder.
На правой панели отображаются свойства этого компонента.
Снимите флажок «Переопределить фильтр глобального отчета».

В интерфейсе пользователя Polyspace создайте отчет, используя BugFinder и шаблон BugFinder_Division_by_Zero из результатов, содержащих деление на ноль дефектов. Сравните два отчета.
Например:
Откройте Справка > Примеры > Bug_Finder_Example.psprj.
Результат демонстрации содержит целочисленное деление на ноль и плавающее деление на ноль дефектов.
Создание отчета PDF с использованием шаблона BugFinder. См. раздел Создание отчетов.
В отчете откройте главу 4. Дефекты. Из примера можно просмотреть все дефекты. Закройте отчет.
Создание отчета PDF с использованием шаблона BugFinder_Division_by_Zero. В окне Выполнить отчет (Run Report) нажмите кнопку Обзор (Browse), чтобы добавить шаблон BugFinder_Division_by_Zero в существующий список шаблонов.
В отчете откройте главу 5. Дефекты. Вы видите только целочисленное деление на ноль и плавающее деление на ноль дефектов.
Примечание
После добавления шаблона в существующий список шаблонов перед созданием отчета обязательно выберите только что добавленный шаблон.