exponenta event banner

Отчет об обнаружении ошибок и доказательстве кода (-report-template)

Укажите шаблон для создания отчета об анализе

Описание

Укажите шаблон для создания отчета об анализе.

.rpt файлы для шаблонов отчетов доступны в polyspaceroot\toolbox\polyspace\psrptgen\templates\. Здесь, polyspaceroot является папкой установки Polyspace ®, например ,C:\Program Files\Polyspace\R2019a.

Задать опцию

Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Reporting. Имеются отдельные опции для поиска ошибок и проверки кода. Другие параметры, которые также необходимо включить, см. в разделе Зависимости.

файл командной строки и параметров: Использовать параметр -report-template. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

В зависимости от используемого шаблона отчет содержит информацию об определенных типах результатов на панели Список результатов (Results List). Шаблон также определяет, какая информация представлена в отчете и как информация организована. См. описания шаблонов ниже.

Настройки - поиск ошибок

По умолчанию: BugFinderSummary

BugFinder

В отчете перечислены:

  • Сводка по поиску ошибок Polyspace: количество результатов в проекте. Результаты суммированы по файлам. Файлы, которые частично анализируются из-за ошибок компиляции, перечислены в отдельной таблице.

  • Метрики кода: сводка различных метрик сложности кода. Дополнительные сведения см. в разделе Метрики кода.

  • Правила кодирования: нарушения правил кодирования в исходном коде. Для каждого нарушения правила в отчете перечисляются:

    • Номер правила и описание.

    • Функция, содержащая нарушение правила.

    • Просмотрите сведения, такие как Серьезность (Severity), Статус (Status) и комментарии.

  • Дефекты: Обнаружены дефекты в исходном коде. Для каждого дефекта в отчете перечислены:

    • Функция, содержащая дефект.

    • Сведения о дефекте на панели Сведения о результате (Result Details).

    • Просмотрите сведения, такие как Серьезность (Severity), Статус (Status) и комментарии.

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

    При проверке правил кодирования в дополнительном разделе Конфигурация правил кодирования (Coding Rules Configuration) правила вместе с информацией о том, были ли они включены или отключены.

BugFinderSummary

В отчете перечислены:

  • Сводка поиска ошибок Polyspace: количество результатов в проекте. Результаты суммированы по файлам. Файлы, которые частично анализируются из-за ошибок компиляции, перечислены в отдельной таблице.

  • Метрики кода: сводка различных метрик сложности кода. Дополнительные сведения см. в разделе Метрики кода.

  • Сводка правил кодирования: правила кодирования наряду с количеством нарушений.

  • Сводка дефектов: Дефекты, которые ищет Polyspace Bug Finder™. Для каждого дефекта в отчете перечислены:

    • Группа дефектов.

    • Имя дефекта.

    • Число обнаруженных в исходном коде экземпляров дефекта.

  • Настройки конфигурации: список параметров анализа, используемых Polyspace для анализа. Если проект настроен на многозадачность, в этом разделе также содержится сводка моделирования параллелизма. Дополнительные сведения см. в разделе Параметры анализа в Polyspace Bug Finder. Если в проекте имеются исходные файлы с ошибками компиляции, эти файлы также перечисляются.

    При проверке правил кодирования в дополнительном разделе Конфигурация правил кодирования (Coding Rules Configuration) правила вместе с информацией о том, были ли они включены или отключены.

CodeMetrics

В отчете перечисляются:

  • Сводка метрик кода: различные количества, связанные с исходным кодом. Дополнительные сведения см. в разделе Метрики кода.

  • Сведения о метриках кода: различные количества, относящиеся к исходному коду с информацией, разбитой по файлам и функциям.

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

    При проверке правил кодирования в дополнительном разделе Конфигурация правил кодирования (Coding Rules Configuration) правила вместе с информацией о том, были ли они включены или отключены.

CodingStandards

Отчет содержит отдельные главы для каждого стандарта кодирования, включенного в анализ (например, MISRA C ®: 2012, CERT ® C, пользовательские правила и т. д.). Каждая глава содержит следующую информацию:

  • Сводка - Нарушения по файлам: График, показывающий каждый файл с количеством нарушений правил.

  • Сводка - Нарушения по правилу: График, показывающий каждое правило с количеством нарушений. Если правило не включено или не нарушено, оно не отображается на графике.

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

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

  • Нарушения: таблицы, в которых перечислены все нарушения правил, а также такие сведения, как идентификатор, имя функции, степень серьезности, состояние и т.д. Для каждого файла создается одна таблица.

В приложении перечислены опции, используемые в анализе Polyspace.

SecurityCWE

Отчет содержит ту же информацию, что и BugFinder отчет. Однако в главе Дефекты в дополнительном столбце перечислены CWE™ правила, сопоставленные каждому дефекту. Приложение Configuration Settings также включает стандарт безопасности для карты результатов Polyspace.

Metrics

Доступно только для результатов, загруженных из интерфейса Polyspace Metrics.

В отчете содержится информация, полезная для инженеров по качеству и доступная в интерфейсе Polyspace Metrics, в том числе:

  • Информация о том, соответствует ли проект целям качества

  • Время, затраченное на каждый этап анализа

  • Метрики всего проекта. Для каждой метрики в отчете перечисляется пороговое значение качества и указывается, удовлетворяет ли метрика этому пороговому значению.

  • Нарушения правил кодирования в проекте. Для каждого правила в отчете перечисляется количество обоснованных нарушений и указывается, соответствуют ли обоснования целям качества.

  • Определенные, а также возможные ошибки времени выполнения в проекте. Для каждого типа ошибки времени выполнения в отчете указывается количество обоснованных ошибок и соответствие обоснований целям качества.

Приложения содержат дополнительные сведения о параметрах конфигурации Polyspace, метриках кода, нарушениях правил кодирования и ошибках времени выполнения.

Настройки - средство проверки кода

По умолчанию: Developer

CodeMetrics

Отчет содержит сводку метрик кода, а затем полные метрики для приложения.

CodingStandards

Отчет содержит отдельные главы для каждого стандарта кодирования, включенного в анализ (например, MISRA C: 2012, пользовательские правила и т. д.). Каждая глава содержит следующую информацию:

  • Сводка - Нарушения по файлам: График, показывающий каждый файл с количеством нарушений правил.

  • Сводка - Нарушения по правилу: График, показывающий каждое правило с количеством нарушений. Если правило не включено или не нарушено, оно не отображается на графике.

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

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

  • Нарушения: таблицы, в которых перечислены все нарушения правил, а также такие сведения, как идентификатор, имя функции, степень серьезности, состояние и т.д. Для каждого файла создается одна таблица.

В приложении перечислены опции, используемые в анализе Polyspace.

Developer

В отчете содержится полезная для разработчиков информация, в том числе:

  • Резюме результатов

  • Нарушения правил кодирования

  • Список проверенных ошибок во время выполнения или проверок красным цветом

  • Список недоказанных ошибок во время выполнения или оранжевых проверок

  • Список недостижимых процедур или серых проверок

  • Использование глобальной переменной в коде. См. раздел Глобальные переменные (средство проверки кода Polyspace).

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

DeveloperReview

Отчет содержит ту же информацию, что и Developer отчет. Однако просмотренные результаты сортируются по степени серьезности и состоянию, а непросмотренные результаты сортируются по расположению файлов.

Developer_withGreenChecks

Отчет содержит ту же информацию, что и Developer отчет. Кроме того, в отчете указан код, который, как доказано, не содержит ошибок или зеленых проверок.

Quality

В отчете содержится информация, полезная для инженеров по качеству, в том числе:

  • Резюме результатов

  • Статистика о коде

  • Графики, показывающие распределение проверок по файлам

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

VariableAccess

Отчет отображает доступ к глобальной переменной в исходном коде. Сначала в отчете отображается количество глобальных переменных каждого типа. Сведения о типах см. в разделе Глобальные переменные (средство проверки кода Polyspace). Для каждой глобальной переменной в отчете отображается следующая информация:

  • Имя переменной.

    Запись для каждой переменной обозначается как |.

  • Тип переменной.

  • Количество операций чтения и записи для переменной.

  • Сведения об операциях чтения и записи. Для каждой операции чтения или записи в таблице отображается следующая информация:

    • Файл и функция, содержащие операцию в форме file_name.function_name.

      Запись для каждой операции чтения или записи обозначается ||. Операции записи обозначаются < и операции чтения >.

    • Номер строки и столбца операции.

В этом отчете содержится информация, доступная на панели «Доступ к переменной» пользовательского интерфейса Polyspace.

CallHierarchy

В отчете отображается иерархия вызовов в исходном коде. Для каждого вызова функции в исходном коде в отчете отображается следующая информация:

  • Уровень иерархии вызовов, где вызывается функция.

    Каждый уровень обозначается как |. Если вызов функции появляется в таблице как |||-> file_name.function_nameвызов функции происходит на третьем уровне иерархии. Начиная с main или точка входа, существует три вызова функций, ведущих к текущему вызову.

  • Файл, содержащий вызов функции.

    Кроме того, отображаются строка и столбец.

  • Файл, содержащий определение функции.

    Кроме того, отображаются строка и столбец, с которых начинается определение функции.

Кроме того, в отчете также отображаются незакрытые функции.

В этом отчете содержится информация, доступная на панели «Иерархия вызовов» пользовательского интерфейса Polyspace.

SoftwareQualityObjectives

В отчете содержится информация, полезная для инженеров по качеству и доступная в интерфейсе Polyspace Metrics, в том числе:

  • Информация о том, соответствует ли проект целям качества

  • Время, затраченное на каждый этап проверки

  • Метрики всего проекта. Для каждой метрики в отчете перечисляется пороговое значение качества и указывается, удовлетворяет ли метрика этому пороговому значению.

  • Нарушения правил кодирования в проекте. Для каждого правила в отчете перечисляется количество обоснованных нарушений и указывается, соответствуют ли обоснования целям качества.

  • Определенные, а также возможные ошибки времени выполнения в проекте. Для каждого типа ошибки времени выполнения в отчете указывается количество обоснованных ошибок и соответствие обоснований целям качества.

Приложения содержат дополнительные сведения о параметрах конфигурации Polyspace, метриках кода, нарушениях правил кодирования и ошибках времени выполнения.

Этот шаблон доступен только в том случае, если отчет создается на основе результатов, загруженных в веб-интерфейс Polyspace Access, или результатов, загруженных в веб-интерфейс Polyspace Metrics (а затем загруженных в интерфейс пользователя Polyspace). В каждом случае необходимо явно установить цели в веб-интерфейсе и затем создать отчеты.

SoftwareQualityObjectives_Summary

Отчет содержит ту же информацию, что и SoftwareQualityObjectives отчет. Однако он не имеет вспомогательных приложений с подробностями метрик кода, нарушений правил кодирования и ошибок времени выполнения.

Этот шаблон доступен только в том случае, если отчет создается на основе результатов, загруженных в веб-интерфейс Polyspace Access, или результатов, загруженных в веб-интерфейс Polyspace Metrics (а затем загруженных в интерфейс пользователя Polyspace). В каждом случае необходимо явно установить уровень цели качества в веб-интерфейсе и затем создать отчеты.

Зависимости

В интерфейсе пользователя настольных продуктов Polyspace эта опция включена только при выборе Generate report вариант.

Совет

  • Эта опция позволяет указать создание отчета перед началом анализа.

    Чтобы создать отчет после завершения анализа, в интерфейсе пользователя настольных продуктов Polyspace выберите Отчеты > Выполнить отчет. Либо в командной строке используйте команду polyspace-report-generator команда.

    После анализа можно также экспортировать результат в текстовый файл для дальнейшей адаптации. Использовать опцию -generate-results-list-file с polyspace-report-generator команда.

  • В Bug Finder отчет не содержит номера строки или столбца для результата. Используйте отчет для архивирования, сбора статистики и проверки того, были ли результаты рассмотрены и рассмотрены (в целях сертификации или иным образом). Чтобы просмотреть результат в исходном коде, используйте интерфейс пользователя Polyspace или среду IDE, если вы используете подключаемый модуль Polyspace.

  • Если вы используете SoftwareQualityObjectives_Summary и SoftwareQualityObjectives шаблоны для создания отчетов, статус прохождения/неуспешного завершения зависит от того, установлен ли уровень целевых показателей качества в параметрах Polyspace Metrics или Polyspace Access:

    • В Polyspace Access состояние pass/fail определяется на основе всех результатов. Например, если используется SQO-4 уровня, который устанавливает порог 60% для проверок переполнения оранжевого цвета, проект имеет статус FAIL, если процент проверок переполнения зеленого и выровненного оранжевого цвета составляет менее 60% от всех проверок переполнения зеленого и оранжевого цветов.

    • В метриках Polyspace статус «проход/сбой» определяется на основе каждого файла. Общее состояние - FAIL, если один из файлов имеет статус FAIL. Например, если используется SQO-4 уровня, устанавливающий порог 60% для проверок переполнения оранжевого цвета, проект имеет статус FAIL, если процент проверок переполнения зеленого и выровненного оранжевого цвета в любом файле меньше 60% проверок переполнения зеленого и оранжевого цветов в этом файле.

  • В первой главе доклада содержится резюме соответствующих результатов. На основе сводки в этой главе можно ввести статус «Pass/Fail» для проекта. При использовании шаблона SoftwareQualityObjectives или SoftwareQualityObjectives_Summaryстатус присваивается автоматически в соответствии с вашими целями и результатами проверки. Дополнительные сведения о применении показателей Polyspace см. в разделе Сравнение показателей с показателями качества программного обеспечения.

Информация командной строки

Параметр: -report-template
Значение: Полный путь к template.rpt
Пример (поиск ошибок): polyspace-bug-finder -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\bug_finder\BugFinder.rpt
Пример (проверка кода): polyspace-code-prover -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\Developer.rpt
Пример (сервер поиска ошибок): polyspace-bug-finder-server -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\bug_finder\BugFinder.rpt
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\Developer.rpt