exponenta event banner

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

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

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

Предпосылки

Перед настройкой шаблона отчета:

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

    Для тестирования шаблона создайте отчет на основе образцов результатов с использованием шаблона. См. раздел Создание отчетов.

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

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

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

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

В этом примере рассматриваются компоненты шаблона 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 для поиска расположения установочной папки. См. раздел Интеграция полиспейса с MATLAB и Simulink.

  2. Откройте интерфейс проводника отчетов. В командной строке MATLAB введите:

    report

  3. Откройте шаблон BugFinder в интерфейсе проводника отчетов.

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

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

Некоторые компоненты шаблона 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). Сведения о компонентах, специфичных для Polyspace, см. в разделе Создание отчетов.

Примечание

Некоторые свойства компонента задаются с помощью внутренних выражений. Хотя выражения можно просматривать, не изменяйте их. Например, условия, указанные в компонентах Logical If в шаблоне BugFinder, задаются с помощью внутренних выражений.

Изменение компонентов шаблона

В интерфейсе Report Explorer можно выполнять следующие действия:

  • Изменение свойств существующих компонентов шаблона.

  • Добавьте новые компоненты в шаблон или удалите существующие компоненты.

В этом примере компонент добавляется к шаблону BugFinder, так что шаблон включает только целочисленное деление на ноль и плавающее деление на ноль дефектов в отчете.

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

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

    Для выполнения этого действия:

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

    2. Выберите компонент Настройка отчета (фильтрация). На правой панели можно задать свойства этого компонента. По умолчанию свойства задаются так, чтобы все результаты включались в отчет.

      Чтобы включить только целочисленное деление по нулю и плавающее деление по нулю дефектов, в группе Дополнительные фильтры введите Integer division by zero и Float division by zero в поле Типы проверки для включения.

      Для исключения результатов можно также использовать регулярные выражения MATLAB в этом поле. Например, чтобы исключить результат Dead code, введите ^(?!Dead code).*. Генератор отчетов применяет регулярные выражения к именам результатов Polyspace. Например:

      • Знак вставки ^ указывает, что последующий шаблон должен находиться в начале строки.

      • Знаки (?!pattern).* указывает, что последующий шаблон не должен отображаться в строке.

      Вместе, регулярное выражение ^(?!Dead code).* указывает, что имена результатов Polyspace начинаются с Dead code должен быть исключен из отчета. См. раздел Регулярные выражения.

      Можно переключаться между активацией и деактивизацией этого компонента. Щелкните правой кнопкой мыши компонент и выберите «Активировать/Деактивировать компонент».

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

    Для выполнения этого действия:

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

      На правой панели отображаются свойства этого компонента.

    2. Снимите флажок «Переопределить фильтр глобального отчета».

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

    Например:

    1. Откройте Справка > Примеры > Bug_Finder_Example.psprj.

      Результат демонстрации содержит целочисленное деление на ноль и плавающее деление на ноль дефектов.

    2. Создание отчета PDF с использованием шаблона BugFinder. См. раздел Создание отчетов.

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

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

      В отчете откройте главу 5. Дефекты. Вы видите только целочисленное деление на ноль и плавающее деление на ноль дефектов.

      Примечание

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