В этом примере вы узнаете, как настроить существующий шаблон отчета в соответствии с вашими требованиями. Шаблон отчета определяет содержимое и форматирование отчетов, сгенерированных из результатов анализа. Если существующий шаблон отчета не удовлетворяет вашим требованиям, можно изменить некоторые аспекты шаблона.
Для получения дополнительной информации о существующих шаблонах смотрите Bug Finder and Code Prover report (-report-template)
.
Перед настройкой шаблона отчета выполните следующие действия:
Проверьте, соответствует ли существующий шаблон отчета вашим требованиям. Определите шаблон, который создает отчеты в формате, близком к тому, что вам нужно. Можно адаптировать этот шаблон.
Чтобы протестировать шаблон, сгенерируйте отчет из выборочных результатов верификации с помощью шаблона. См. «Генерация отчетов».
Убедитесь, что у вас есть MATLAB® Сообщите о Generator™, установленных в вашей системе.
В этом примере вы изменяете шаблон Developer, который доступен в Polyspace® Code Prover™.
Шаблон отчета может быть разбит на компоненты в MATLAB Report Generator. Каждый компонент представляет некоторые сведения, включенные в отчет, сгенерированный с помощью шаблона. Например, Title Page компонента представляет информацию на титульной странице отчета.
В этом примере вы просматриваете компоненты шаблона Developer.
Добавьте пути к специфичным для Polyspace компонентам отчета путем указания подпапок установочной папки Polyspace. В командной строке MATLAB введите:
addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'psrptgen')); addpath(fullfile(polyspaceroot, 'toolbox', 'polyspace', 'psrptgen', 'templates'));
Здесь,
является папкой установки Polyspace, например polyspaceroot
C:\Program Files\Polyspace\R2019a
. Если вы интегрируете MATLAB и Polyspace, можно использовать polyspaceroot
функция в MATLAB для поиска местоположения папки установки. См. «Интеграция Polyspace с MATLAB и Simulink».
Откройте интерфейс Report Explorer. В командной строке MATLAB введите:
report
Откройте шаблон Developer в интерфейсе Report Explorer.
Шаблон Developer в
где polyspaceroot
/ toolbox/polyspace/psrptgen/templates
- папка установки Polyspace.polyspaceroot
Шаблон откроется в 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
проверки из отчета, сгенерированного с помощью шаблона.
Откройте шаблон Developer в интерфейсе Report Explorer и сохраните его в другом месте с другим именем, например, Developer_without_UNR.
Добавьте новый глобальный компонент, который фильтрует Unreachable code проверяет из шаблона Developer_without_UNR. Компонент является глобальным, поскольку он применяется к полному отчету, а не к одной главе доклада.
Чтобы выполнить это действие:
Перетащите компонент Report Customization (Filtering)
на средней панели и перетащите его над компонентом Title Page. Позиционирование компонента обеспечивает применение фильтров к полному отчету, а не к одной главе отчета.
Выберите 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.
Измените существующий специфичный для главы компонент так, чтобы он не переопределял глобальный фильтр, примененный на предыдущем шаге. Если вы препятствуете переопределению, компонент, относящийся к главе, следует спецификациям фильтрации в глобальном компоненте.
Чтобы выполнить это действие:
На левой панели выберите Run-time Checks Details Ordered by Color/File
компонент. Этот компонент создает таблицы в отчете с подробной информацией о проверках во время выполнения, обнаруженных в Polyspace Code Prover.
На правой панели показаны свойства этого компонента.
Очистите Override Global Report блок фильтра.
В пользовательском интерфейсе Polyspace создайте отчет с использованием шаблона Developer и Developer_without_UNR из результатов, содержащих проверки Unreachable code. Сравните эти два отчета.
Для образца:
Откройте Help > Examples > Code_Prover_Example.psprj.
Демонстрационный результат содержит Unreachable code проверки.
Создайте PDF отчет с помощью шаблона Developer.
В докладе откройте главу 5. Результаты проверок во время выполнения Polyspace. Вы можете увидеть серые проверки Unreachable code. Закройте отчет.
Создайте PDF отчет с помощью шаблона Developer_without_UNR. В окне Запуск отчета используйте кнопку Browse, чтобы добавить шаблон Developer_without_UNR в существующий список шаблонов.
В докладе откройте главу 6. Результаты проверок во время выполнения Polyspace. Вы не видите серых чеков Unreachable code.
Примечание
После добавления шаблона к существующему списку шаблонов перед созданием отчета убедитесь, что выбрали только что добавленный шаблон.
Измените шаблон Developer так, чтобы файл initialisations.c
исключается из отчета, сгенерированного с помощью шаблона. Сгенерируйте отчет из результатов Code_Prover_Example с помощью измененного шаблона и проверьте, что файл initialisations.c
исключается из отчета.
Подсказка: Регулярное выражение, которое вы должны использовать ^(?!.*initialisations.c).*
Дополнительные примеры см. Выборку Индивидуальных настроек шаблона отчета.
Bug Finder and Code Prover report (-report-template)
| Generate report
| Output format (-report-output-format)