exponenta event banner

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

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

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

Предпосылки

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

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

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

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

В этом примере можно изменить шаблон разработчика, доступный в Polyspace ® Code Prover™.

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

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

В этом примере рассматриваются компоненты шаблона разработчика.

  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. Откройте шаблон разработчика в интерфейсе проводника отчетов.

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

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

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

КомпонентЦель
Title Page(Генератор отчетов MATLAB)

Вставка титульной страницы в начало отчета

Chapter/Subsection(Генератор отчетов MATLAB)

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

Code Verification Summary

Вставка сводной таблицы результатов анализа Polyspace

Logical If(Генератор отчетов MATLAB)

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

Run-time Checks Summary Ordered by File

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

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

Дополнительные сведения обо всех компонентах см. в разделе Работа с компонентами (генератор отчетов MATLAB). Сведения о компонентах, специфичных для Polyspace, см. в разделе Создание отчетов.

Примечание

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

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

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

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

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

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

  1. Откройте шаблон разработчика в интерфейсе проводника отчетов и сохраните его в другом месте с другим именем, например, Developer_without_UNR.

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

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

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

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

      Чтобы исключить проверки недостижимого кода, в группе Дополнительные фильтры введите ^(?!Unreachable code).* в поле Типы проверки для включения.

      В это поле можно ввести регулярные выражения MATLAB. Генератор отчетов применяет регулярные выражения к именам результатов Polyspace. Например:

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

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

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

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

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

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

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

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

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

  4. В интерфейсе пользователя Polyspace создайте отчет с использованием шаблона Разработчик (Developer) и Developer_without_UNR из результатов, содержащих проверки недостижимого кода. Сравните два отчета.

    Например:

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

      Демонстрационный результат содержит проверки недостижимого кода.

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

      В отчете откройте главу 5. Результаты проверки времени выполнения Polyspace. Отображаются серые проверки недостижимого кода. Закройте отчет.

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

      В отчете откройте главу 6. Результаты проверки времени выполнения Polyspace. Серые проверки кода недоступны.

      Примечание

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

Дальнейшие исследования

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

Подсказка: Регулярное выражение, которое необходимо использовать: ^(?!.*initialisations.c).*

Дополнительные примеры см. в разделе Примеры настроек шаблонов отчетов.

См. также

| |

Связанные темы