В этом примере вы узнаете, как настроить существующий шаблон отчета в соответствии с вашими требованиями. Шаблон отчета позволяет вам генерировать отчет из результатов анализа в определенном формате. Если существующий шаблон отчета не удовлетворяет вашим требованиям, можно изменить некоторые аспекты шаблона.
Для получения дополнительной информации о существующих шаблонах смотрите Bug Finder and Code Prover report (-report-template)
.
Перед настройкой шаблона отчета выполните следующие действия:
Проверьте, соответствует ли существующий шаблон отчета вашим требованиям. Определите шаблон, который создает отчеты в формате, близком к тому, что вам нужно. Можно адаптировать этот шаблон.
Чтобы протестировать шаблон, сгенерируйте отчет из выборочных результатов с помощью шаблона. См. «Генерация отчетов».
Убедитесь, что у вас есть MATLAB® Сообщите о Generator™, установленных в вашей системе.
В этом примере вы изменяете шаблон BugFinder, который доступен в Polyspace® Bug Finder™.
Шаблон отчета может быть разбит на компоненты в MATLAB Report Generator. Каждый компонент представляет некоторые сведения, включенные в отчет, сгенерированный с помощью шаблона. Например, Title Page компонента представляет информацию на титульной странице отчета.
В этом примере вы просматриваете компоненты шаблона BugFinder.
Добавьте пути к специфичным для 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
Откройте шаблон BugFinder в интерфейсе Report Explorer.
Шаблон BugFinder в
где polyspaceroot
/ toolbox/polyspace/psrptgen/templates/bug_finder
- папка установки Polyspace.polyspaceroot
Шаблон откроется в Report Explorer. На левой панели можно увидеть компоненты шаблона. Можно кликнуть каждый компонент и просмотреть свойства компонентов на правой панели.
Некоторые компоненты шаблона 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 Report Generator). Для получения информации о компонентах, относящихся к Polyspace, см. Раздел «Генерация отчетов».
Примечание
Некоторые свойства компонентов задаются с помощью внутренних выражений. Хотя вы можете просматривать выражения, не изменяйте их. Например, условия, заданные в компонентах Logical If в шаблоне BugFinder, задаются с помощью внутренних выражений.
В интерфейсе Report Explorer можно:
Изменение свойств существующих компонентов шаблона.
Добавьте новые компоненты в шаблон или удалите существующие.
В этом примере вы добавляете компонент к шаблону BugFinder так, чтобы шаблон содержал только Integer division by zero и Float division by zero дефекты в отчете.
Откройте шаблон BugFinder в интерфейсе Report Explorer и сохраните его в другом месте с другим именем, например, BugFinder_Division_by_Zero.
Добавьте новый глобальный компонент, который фильтрует каждый дефект, кроме деления на нули, из шаблона BugFinder_Division_by_Zero. Компонент является глобальным, поскольку он применяется к полному отчету, а не к одной главе доклада.
Чтобы выполнить это действие:
Перетащите компонент Report Customization (Filtering)
на средней панели и перетащите его над компонентом Title Page. Позиционирование компонента обеспечивает применение фильтров к полному отчету, а не к одной главе отчета.
Выберите Report Customization (Filtering) компонент. На правой панели можно задать свойства этого компонента. По умолчанию свойства заданы так, чтобы все результаты были включены в отчет.
Чтобы включить только Integer division by zero и Float division by zero дефекты, в группу Advanced Filters введите Integer division by zero
и Float division by zero
в поле Check types to include.
Можно также использовать регулярные выражения MATLAB в этом поле, чтобы исключить результаты. Для образца, чтобы исключить Dead code результатов, введите ^(?!Dead code).*
. Генератор отчетов применяет регулярные выражения к именам результатов Polyspace. Для образца:
Следите за ^
указывает, что последующий шаблон должен находиться в начале строки.
Символы (?!
указывает, что последующий шаблон не должен отображаться в строке.pattern
).*
Вместе регулярное выражение ^(?!Dead code).*
указывает, что имена результатов Polyspace начинаются с Dead code
необходимо исключить из отчета. См. раздел Регулярные выражения.
Можно переключаться между активацией и деактивацией этого компонента. Щелкните правой кнопкой мыши компонент и выберите Activate/Deactivate Component.
Измените существующий специфичный для главы компонент так, чтобы он не переопределял глобальный фильтр, примененный на предыдущем шаге. Если вы препятствуете переопределению, компонент, относящийся к главе, следует спецификациям фильтрации в глобальном компоненте.
Чтобы выполнить это действие:
На левой панели выберите Run-time Checks Details Ordered by Color/File
компонент. Этот компонент создает таблицы в отчете с подробной информацией о проверках во время выполнения, обнаруженных в Polyspace Bug Finder.
На правой панели показаны свойства этого компонента.
Очистите Override Global Report блок фильтра.
В пользовательском интерфейсе Polyspace создайте отчет с использованием шаблона BugFinder и BugFinder_Division_by_Zero из результатов, содержащих деление на нулевые дефекты. Сравните эти два отчета.
Для образца:
Откройте Help > Examples > Bug_Finder_Example.psprj.
Демо- результат содержит Integer division by zero и Float division by zero дефекты.
Создайте PDF отчет с помощью шаблона BugFinder. См. «Генерация отчетов».
В докладе откройте главу 4. Дефекты. Все дефекты можно увидеть из результата примера. Закройте отчет.
Создайте PDF отчет с помощью шаблона BugFinder_Division_by_Zero. В окне Запуск отчета используйте кнопку Browse, чтобы добавить шаблон BugFinder_Division_by_Zero в существующий список шаблонов.
В докладе откройте главу 5. Дефекты. Вы видите только Integer division by zero и Float division by zero дефекты.
Примечание
После добавления шаблона к существующему списку шаблонов перед созданием отчета убедитесь, что выбрали только что добавленный шаблон.