Средство поиска ошибки и отчет Программы автоматического доказательства Кода (-report-template)

Задайте шаблон для генерации аналитического отчета

Описание

Задайте шаблон для генерации аналитического отчета.

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

Установите опцию

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

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

Почему использование эта опция

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

Настройки – средство поиска ошибки

Значение по умолчанию: BugFinderSummary

BugFinder

Списки отчетов:

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

  • Code Metrics: Сводные данные различных метрик сложности кода. Для получения дополнительной информации смотрите Метрики Кода.

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

    • Управляйте номером и описанием.

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

    • Рассмотрите информацию, такую как Severity, Status и комментарии.

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

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

    • Дефектная информация о панели Result Details.

    • Рассмотрите информацию, такую как Severity, Status и комментарии.

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

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

BugFinderSummary

Списки отчетов:

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

  • Code Metrics: Сводные данные различных метрик сложности кода. Для получения дополнительной информации смотрите Метрики Кода.

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

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

    • Дефектная группа.

    • Дефектное имя.

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

  • Configuration Settings: Список аналитических опций, которые Polyspace использует для анализа. Если вы сконфигурировали свой проект для многозадачности, этот раздел также перечисляет Concurrency Modeling Summary. Для получения дополнительной информации см. Аналитические Опции. Если ваш проект имеет исходные файлы с ошибками компиляции, эти файлы также перечислены.

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

CodeMetrics

Отчет перечисляет следующее:

  • Code Metrics Summary: Различные количества связаны с исходным кодом. Для получения дополнительной информации смотрите Метрики Кода.

  • Code Metrics Details: Различные количества, связанные с исходным кодом с информацией, сломанной файлом и функцией.

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

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

CodingStandards

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

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

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

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

  • Summary for Enabled Guidelines или Summary for Enabled Rules: Таблица, показывающая каждую инструкцию или правило с количеством нарушений.

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

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

SecurityCWE

Отчет содержит ту же информацию как отчет BugFinder. Однако в главе Defects, дополнительные списки столбцов правила CWE™, сопоставленные с каждым дефектом. Приложение Configuration Settings также включает Security Standard to Polyspace Result Map.

Metrics

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

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

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

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

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

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

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

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

Настройки – программа автоматического доказательства кода

Значение по умолчанию: Developer

CodeMetrics

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

CodingStandards

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

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

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

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

  • Summary for Enabled Guidelines или Summary for Enabled Rules: Таблица, показывающая каждую инструкцию или правило с количеством нарушений.

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

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

Developer

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

  • Сводные данные результатов

  • Кодирование нарушений правила

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

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

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

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

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

DeveloperReview

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

Developer_withGreenChecks

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

Quality

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

  • Сводные данные результатов

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

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

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

VariableAccess

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

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

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

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

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

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

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

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

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

Этот отчет получает информацию, доступную на панели Variable Access в пользовательском интерфейсе Polyspace.

CallHierarchy

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

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

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

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

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

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

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

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

Этот отчет получает информацию, доступную на панели Call Hierarchy в пользовательском интерфейсе Polyspace.

SoftwareQualityObjectives

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

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

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

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

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

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

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

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

SoftwareQualityObjectives_Summary

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

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

Зависимости

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

Советы

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

    Чтобы сгенерировать отчет после, анализ завершен в пользовательском интерфейсе десктопных решений Polyspace, выберите Reporting> Run Report. Также в командной строке, используйте команду polyspace-report-generator.

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

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

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

    • В Polyspace доступ состояние передачи/сбоя определяется на основе всех результатов. Например, если вы используете уровень 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