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

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

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

Предпосылки

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

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

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

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

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

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

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

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

  1. Откройте интерфейс Report Explorer Генератора отчетов Simulink®. В команде MATLAB запрашивают, введите:

    report

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

    Шаблон BugFinder находится в polyspaceroot/toolbox/polyspace/psrptgen/templates/bug_finder, где polyspaceroot является папкой установки Polyspace. Запустите polyspaceroot в MATLAB, чтобы найти местоположение папки установки.

Ваш шаблон открывается в 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.

      Примечание

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