Check MISRA C:2004 (-misra2)

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

Описание

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

Задать опцию

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

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

Зачем использовать эту опцию

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

После анализа на 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 checker анализирует только .c файлы.

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

Совет

  • Чтобы уменьшить недоказанные результаты в 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
Пример (Bug Finder): Polyspace Bug Finder -sources file_name -misra2 all-rules
Пример (Code Prover): Polyspace Code Prover -sources file_name -misra2 all-rules
Пример (Bug Finder Server): polyspace-bug-finder-server -sources file_name -misra2 all-rules
Пример (Код Prover Server): Полипространство -code-prover-server -sources file_name -misra2 all-rules

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

расширить все

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