-misra3
)Проверяйте на нарушения правил MISRA C:2012 и директив
Задайте, проверять ли на нарушения инструкций MISRA C®:2012. Каждое значение опции соответствует подмножеству инструкций, чтобы проверять.
Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Coding Standards & Code Metrics. Смотрите Зависимости для других опций, которые необходимо также включить.
Командная строка и файл опций: Используйте опцию -misra3
. Смотрите информацию о командной строке.
Используйте эту опцию, чтобы задать подмножество правил MISRA C:2012 проверять на.
После анализа панель Results List перечисляет кодирующие стандартные нарушения. На панели Source, для каждого нарушения правила кодирования, Polyspace® присваивает символ ключевому слову или идентификатору, относящемуся к нарушению.
Значение по умолчанию: mandatory-required
mandatory
Проверяйте на обязательные инструкции.
mandatory-required
Проверяйте на обязательные и необходимые инструкции.
Обязательные инструкции: Ваш код должен выполнить эти инструкции.
Необходимые инструкции: можно отклониться от этих инструкций. Однако необходимо завершить формальную запись отклонения, и отклонение должно быть авторизовано.
Смотрите Раздел 5.4 из инструкций MISRA C:2012. Для примера записи отклонения см. Приложение I инструкций MISRA C:2012.
Примечание
Выключить некоторые необходимые инструкции, вместо mandatory-required
выберите custom
. Чтобы очистить определенные инструкции, щелкнуть. В столбце Comment введите свое объяснение для отключения инструкции. Например, можно ввести идентификатор Отклонения, который относится к записи отклонения для инструкции. Объяснение появляется в вашем сгенерированном отчете.
single-unit-rules
Проверяйте подмножество правил, которые применяются только к одному модулям перевода. Эти правила проверяются в фазе компиляции анализа.
system-decidable-rules
Проверяйте правила в single-unit-rules
подмножество и некоторые правила, которые применяются к коллективному набору программных файлов. Дополнительные правила являются менее комплексными правилами, которые применяются в степени интеграции. Эти правила могут проверяться только в степени интеграции, потому что правила включают больше чем один модуль перевода. Эти правила проверяются в компиляции и соединении фаз анализа.
all
Проверяйте на обязательные, требуемые, и консультативные инструкции.
SQO-subset1
Проверяйте только на подмножество инструкций. В Polyspace Code Prover™, наблюдая эти правила может сократить количество бездоказательных результатов. Для получения дополнительной информации смотрите Подмножества Цели Качества программного обеспечения (C:2012).
SQO-subset2
Проверяйте на подмножество SQO-subset1
, плюс некоторые дополнительные правила. В Polyspace Code Prover, наблюдая эти правила может далее сократить количество бездоказательных результатов. Для получения дополнительной информации смотрите Подмножества Цели Качества программного обеспечения (C:2012).
from-file
Задайте XML-файл, где вы конфигурируете пользовательский выбор средств проверки для этого стандарта кодирования. Чтобы создать конфигурационный файл, кликните, затем выберите правила и рекомендации, которые вы хотите проверять на этот стандарт кодирования от правой панели окна Findings selection. Сохраните файл.
Чтобы использовать или обновить существующий конфигурационный файл, в окне Findings selection, вводят полный путь в файл в обеспеченном поле или нажимают Browse.
Если вы устанавливаете опцию на from-file
, включите Set checkers by file (-checkers-selection-file)
.
Эта опция доступна, только если вы устанавливаете Source code language (-lang)
toc
или C-CPP
.
Для проектов со смешанным C и Кода С++, средство проверки MISRA C:2012 анализирует только .c
файлы.
Если вы устанавливаете Source code language (-lang)
к C-CPP
, можно активировать C, кодирующий средство проверки правила и C++, кодирующий средство проверки правила. Когда у вас есть и C и C++, кодирующий активные средства проверки правила, чтобы избежать дублирующихся результатов, Polyspace не производит C кодирующие правила, найденные в соединяющейся фазе (такие как Правило 8.3 MISRA C:2012).
Уменьшать бездоказательные результаты в Polyspace Code Prover:
Найдите нарушения правила кодирования в SQO-subset1
. Зафиксируйте свой код, чтобы обратиться к нарушениям и повторно выполнить верификацию.
Найдите нарушения правила кодирования в SQO-subset2
. Зафиксируйте свой код, чтобы обратиться к нарушениям и повторно выполнить верификацию.
Если вы выбираете опцию single-unit-rules
или system-decidable-rules
и примите решение обнаружить нарушения правила кодирования только, анализ может завершиться более быстрый, чем проверка других правил. Для получения дополнительной информации смотрите Подмножества Правила Кодирования, Проверенные Рано в Анализе.
Polyspace Code Prover не поддерживает проверку следующего:
Директива 4.13 и 4.14 MISRA C:2012
Правило 21.13, 21.14 MISRA C:2012, и 21.17 - 21.20
Правило 22.1 - 22.4 и 22.6 - 22.10 MISRA C:2012
Для поддержки всех правил MISRA C:2012 включая инструкции по безопасности в Поправке 1 используйте Polyspace Bug Finder™.
В коде, сгенерированном при помощи Embedded Coder®, существуют известные отклонения от MISRA C:2012. Смотрите Объяснение Отклонений для Податливости MISRA C:2012 (Embedded Coder).
Параметр: -misra3 |
Значение:
mandatory | mandatory-required | single-unit-rules | system-decidable-rules | all | SQO-subset1 | SQO-subset2 | from-file |
Пример (Bug Finder):
Polyspace Bug Finder - Ленг c - источники |
Пример (Программа автоматического доказательства Кода): Polyspace Code Prover - Ленг c - источники |
Пример (Сервер Bug Finder):
сервер средства поиска ошибки полипробела - Ленг c - источники |
Пример (Сервер Программы автоматического доказательства Кода):
сервер программы автоматического доказательства полипробела кода - Ленг c - источники |