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

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

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

Предпосылки

Прежде чем вы настроите шаблон отчета:

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

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

  • Убедитесь, что вам установили MATLAB® Report 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 Генератора отчетов Simulink®. В командной строке MATLAB введите:

    report

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

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

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

Некоторые компоненты шаблона BugFinder и их цели описаны ниже.

КомпонентЦель
Title Page

Вставляет титульный лист в начале отчета

Chapter/Subsection

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

Code Verification Summary

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

Logical If

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

Run-time Checks Summary Ordered by File

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

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

Для получения дополнительной информации о компонентах смотрите, Создают Программы Отчета В интерактивном режиме (Simulink 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 должен быть исключен из отчета. Смотрите Регулярные выражения (MATLAB).

      Можно переключиться между активацией и деактивацией этого компонента. Щелкните правой кнопкой по компоненту и выберите 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.

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

    2. Создайте отчет PDF с помощью шаблона BugFinder. Смотрите Генерируют Отчеты.

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

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

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

      Примечание

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