Проверяйте на кодирование стандартных нарушений

С Polyspace® можно проверять, что код C/C++ для нарушений кодирования правил, таких как MISRA C®:2012 управляет. Соблюдение кодирования правил может сократить количество дефектов и улучшить качество вашего кода.

Polyspace может обнаружить нарушения этих правил:

  • MISRA C: 2004

  • MISRA C: 2012

  • MISRA® C ++

  • JSF AV C++

  • AUTOSAR C++ 14 (Только Средство поиска ошибки)

  • CERT® C (Только Средство поиска ошибки)

  • CERT C++ (Только Средство поиска ошибки)

  • ISO®/IEC TS 17961 (Только Средство поиска ошибки)

Сконфигурируйте проверку правил кодирования

Задайте стандартные и предопределенные подмножества средства проверки

Задайте правила кодирования через аналитические опции Polyspace. Когда вы запускаете Программу автоматического доказательства Средства поиска или Кода Ошибки, анализ ищет кодирование нарушений правила в дополнение к другим проверкам. Можно отключить другие проверки и искать кодирование нарушений правила только.

В пользовательском интерфейсе Polyspace (десктопные решения) опции находятся на панели Configuration под узлом Coding Standards & Code Metrics.

Для кода С используйте одну из этих опций:

Для Кода С++ используйте одну из этих опций:

Можно задать предопределенное подмножество правил, например, mandatory для MISRA C: 2012. Эти подмножества обычно задаются стандартом.

Можно также задать соглашения о присвоении имен для идентификаторов с помощью регулярных выражений. Смотрите Создают Пользовательские Правила Кодирования.

Настройте подмножества средства проверки

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

Пользовательский интерфейс (только десктопные решения)

  1. Выберите стандарт кодирования. Из выпадающего списка для подмножества правил выберите from-file. Нажмите Edit.

  2. В окне Findings selection стандарт кодирования подсвечен на левой панели. На правой панели выберите правила, что вы хотите включать в свой анализ.

Когда вы сохраняете выборы правила, настройка сохранена в XML-файле, который можно снова использовать для нескольких исследований. Тот же файл содержит правила, выбранные для всех стандартов кодирования. Можно снова использовать этот файл через несколько проектов осуществить общие стандарты кодирования в команде или организации. Снова использовать этот файл в другом проекте в пользовательском интерфейсе Polyspace:

  • Выберите стандарт кодирования в настройке проекта. Из выпадающего списка для подмножества правил выберите from-file.

  • Нажмите Edit и обзор к расположению файла. В качестве альтернативы введите имя файла в качестве аргумента для опции Set checkers by file (-checkers-selection-file).

Командная строка.  С десктопными решениями Polyspace можно создать кодирующий стандартный XML-файл в пользовательском интерфейсе и затем использовать этот файл в анализе командной строки.

С серверными продуктами Polyspace необходимо создать стандарт кодирования XML с нуля. Используйте файл StandardsConfiguration.xml в polyspaceserverroot\polyspace\examples\cxx\Bug_Finder_Example\sources как шаблон и включают правила с помощью записей в XML-файле. Здесь, polyspaceserverroot корневая папка установки для Серверных продуктов Polyspace, например, C:\Program Files\Polyspace Server\R2019a.

Например, чтобы включить MISRA C: 2 012 правил 8.1, используйте эту запись:

<standard name="MISRA C:2012">
  ...
  <section name="8 Declarations and definitions">
      ...
      <check id="8.1" state="on">
      </check>
      ...
  </section>
  ...
</standard>

Для полного списка идентификаторов правила и имен раздела, см.:

Примечание

Формат XML конфигурационного файла средства проверки может измениться в будущих релизах.

Проверяйте на кодирование стандартов только

Проверять на кодирование стандартов только:

  • В Средстве поиска Ошибки отключите проверку дефектов. Используйте опцию Find defects (-checkers).

  • В Программе автоматического доказательства Кода проверяйте на исходную податливость только. Используйте опцию Verification level (-to).

    Эти правила проверяются на более поздних этапах анализа Программы автоматического доказательства Кода: правила 9.1, 13.7 MISRA C:2004, и 21.1, и правила 2.2, 9.1, 14.3 MISRA C:2012, и 18.1. Если вы останавливаете Программу автоматического доказательства Кода при исходной проверке податливости, анализ не может найти все нарушения этих правил. Можно также видеть различие в результатах на основе выбора для опции Verification level (-to). Например, возможно, что Программа автоматического доказательства Кода подозревает в первой передаче, что переменная может быть неинициализированной, но доказывает во второй передаче, что переменная инициализируется. В этом случае вы видите нарушение Правила 9.1 MISRA C:2012 в первой передаче, но не во второй передаче.

Рассмотрите нарушения правила кодирования

После анализа вы видите кодирующие стандартные нарушения на панели Results List. Выберите нарушение, чтобы видеть более подробную информацию о панели Result Details и исходный код на панели Source.

Нарушения кодирования стандартов обозначаются в исходном коде со значком.

Для дальнейших шагов смотрите Результаты анализа Анализа.

Сгенерируйте отчеты

Можно сгенерировать шаблоны использования отчетов, которые явным образом заданы для кодирования стандартов. Используйте CodingStandards шаблон. Этот шаблон:

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

  • Создает отдельную главу в отчете для каждого стандарта кодирования. глава предоставляет обзор всех нарушений стандарта и затем перечисляет каждое нарушение.

Чтобы задать шаблон отчета, используйте опцию Bug Finder and Code Prover report (-report-template).

Похожие темы