Проверяйте MISRA C:2004 (-misra2)

Проверяйте на нарушение правил MISRA C:2004

Polyspace больше не будет поддерживать файлы пользовательской конфигурации в текстовом формате в будущем релизе. См. Вопросы совместимости.

Описание

Задайте, проверять ли на нарушение правил MISRA C®:2004. Каждое значение опции соответствует подмножеству правил проверять.

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

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

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

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

Используйте эту опцию, чтобы задать подмножество правил MISRA C:2004 проверять на.

После анализа панель Results List перечисляет кодирующие стандартные нарушения. На панели Source, для каждого нарушения правила кодирования, Polyspace® присваивает символ ключевому слову или идентификатору, относящемуся к нарушению.

Настройки

Значение по умолчанию: required-rules

required-rules

Проверяйте требуемые правила кодирования.

single-unit-rules

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

system-decidable-rules

Проверяйте правила в подмножество single-unit-rules и некоторые правила, которые применяются к коллективному набору программных файлов. Дополнительные правила являются менее комплексными правилами, которые применяются в степени интеграции. Эти правила могут проверяться только в степени интеграции, потому что правила включают больше чем один модуль перевода. Эти правила проверяются в компиляции и соединении фаз анализа.

all-rules

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

SQO-subset1

Проверяйте только подмножество MISRA C правила. В Polyspace Code Prover™, наблюдая эти правила может сократить количество бездоказательных результатов. Для получения дополнительной информации смотрите Подмножества Цели Качества программного обеспечения (C:2004).

SQO-subset2

Проверяйте подмножество правил включая SQO-subset1 и некоторых дополнительных правил. В Polyspace Code Prover, наблюдая эти правила может далее сократить количество бездоказательных результатов. Для получения дополнительной информации смотрите Подмножества Цели Качества программного обеспечения (C:2004).

from-file

Задайте XML-файл, где вы конфигурируете пользовательский выбор средств проверки для этого стандарта кодирования. Чтобы создать конфигурационный файл, кликните, затем выберите правила и рекомендации, которые вы хотите проверять на этот стандарт кодирования от правой панели окна Findings selection. Сохраните файл.

Чтобы использовать или обновить существующий конфигурационный файл, в окне Findings selection, вводят полный путь в файл в обеспеченном поле или нажимают Browse.

Если вы устанавливаете опцию на from-file, включаете Set checkers by file (-checkers-selection-file).

Зависимости

  • Эта опция доступна, только если вы устанавливаете Source code language (-lang) на C или C-CPP.

    Для проектов со смешанным C и Кода С++, средство проверки MISRA C:2004 анализирует только файлы .c.

  • Если вы устанавливаете Source code language (-lang) на C-CPP, можно активировать C, кодирующий средство проверки правила и C++, кодирующий средство проверки правила. Когда у вас есть и C и C++, кодирующий активные средства проверки правила, чтобы избежать дублирующихся результатов, Polyspace не производит C кодирующие правила, найденные в соединяющейся фазе (такие как Правило 8.3 MISRA C:2012).

Советы

  • Уменьшать бездоказательные результаты в Polyspace Code Prover:

    1. Найдите нарушения правила кодирования в SQO-subset1. Зафиксируйте свой код, чтобы обратиться к нарушениям и повторно выполнить верификацию.

    2. Найдите нарушения правила кодирования в SQO-subset2. Зафиксируйте свой код, чтобы обратиться к нарушениям и повторно выполнить верификацию.

  • Если вы выбираете опцию single-unit-rules или system-decidable-rules и принимаете решение обнаружить нарушения правила кодирования только, анализ может завершиться более быстрый, чем проверка других правил. Для получения дополнительной информации смотрите Подмножества Правила Кодирования, Проверенные Рано в Анализе.

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

Параметр: -misra2
Значение: required-rules | all-rules | SQO-subset1 | SQO-subset2 | single-unit-rules | system-decidable-rules | from-file
Значение по умолчанию: required-rules
Пример (средство поиска ошибки): polyspace-bug-finder -sources file_name -misra2 all-rules
Пример (программа автоматического доказательства кода): polyspace-code-prover -sources file_name -misra2 all-rules
Пример (сервер средства поиска ошибки): polyspace-bug-finder-server -sources file_name -misra2 all-rules
Пример (сервер программы автоматического доказательства кода): polyspace-code-prover-server -sources file_name -misra2 all-rules

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2019a