-misra3
)Проверяйте на нарушения правил MISRA C:2012 и директив
Polyspace больше не будет поддерживать файлы пользовательской конфигурации в текстовом формате в будущем релизе. См. Вопросы совместимости.
Задайте, проверять ли на нарушения инструкций 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)
на C
или 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: 2 012 правил включая инструкции по безопасности в Поправке 1, используйте Polyspace Bug Finder™.
Параметр: -misra3 |
Значение:
mandatory | mandatory-required | single-unit-rules | system-decidable-rules | all | SQO-subset1 | SQO-subset2 | from-file |
Значение по умолчанию: mandatory-required |
Пример (средство поиска ошибки):
|
Пример (программа автоматического доказательства кода):
|
Пример (сервер средства поиска ошибки):
|
Пример (сервер программы автоматического доказательства кода):
|