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

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

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

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

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

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

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

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

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

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

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

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

  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. Откройте шаблон BugFinder в интерфейсе Report Explorer.

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

Шаблон откроется в 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 дефекты в отчете.

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

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

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

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

    2. Выберите 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.

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

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

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

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

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

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

    Для образца:

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

      Демо- результат содержит Integer division by zero и Float division by zero дефекты.

    2. Создайте PDF отчет с помощью шаблона BugFinder. См. «Генерация отчетов».

      В докладе откройте главу 4. Дефекты. Все дефекты можно увидеть из результата примера. Закройте отчет.

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

      В докладе откройте главу 5. Дефекты. Вы видите только Integer division by zero и Float division by zero дефекты.

      Примечание

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