-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. Чтобы очистить определенные инструкции, нажмите кнопку.
В столбце «Комментарий» введите обоснование отключения руководства. Например, можно ввести идентификатор отклонения, который ссылается на запись отклонения для руководства. Обоснование появится в созданном отчете.
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) введите полный путь к файлу в предоставленном поле или нажмите кнопку Обзор (Browse).
Если для параметра установлено значение from-file, включить Set checkers by file (-checkers-selection-file).
Эта опция доступна только при установке Source code language (-lang) кому C или C-CPP.
Для проектов со смешанным кодом C и C++ средство проверки MISRA C:2012 анализирует только .c файлы.
Если установить Source code language (-lang) кому C-CPP, можно активировать средство проверки правил кодирования C и средство проверки правил кодирования C++. Если активны проверки правил кодирования C и C++, во избежание дублирования результатов Polyspace не создает правила кодирования C, найденные в фазе связывания (например, MISRA C:2012 Rule 8.3).
Для уменьшения числа недоказанных результатов в программе Polyspace Code Prover:
Поиск нарушений правил кодирования в SQO-subset1. Исправьте код, чтобы устранить нарушения, и повторите проверку.
Поиск нарушений правил кодирования в SQO-subset2. Исправьте код, чтобы устранить нарушения, и повторите проверку.
При выборе опции single-unit-rules или system-decidable-rules и выберите только обнаружение нарушений правил кодирования, анализ может завершиться быстрее, чем проверка других правил. Дополнительные сведения см. в разделе Подгруппы правил кодирования, проверенные на ранних этапах анализа.
Средство проверки кода Polyspace не поддерживает проверку следующего:
Директивы MISRA C:2012 4.13 и 4.14
MISRA C:2012 Правила 21.13, 21.14 и 21.17 - 21.20
MISRA C:2012 Правило 22.1 - 22.4 и 22.6 - 22.10
Для поддержки всех правил C:2012 MISRA, включая рекомендации по безопасности в поправке 1, используйте Polyspace Bug Finder™.
В коде, сгенерированном с помощью Embedded Coder ®, имеются известные отклонения от C:2012 MISRA. См. обоснование отклонений для MISRA C:2012 Compliance (Embedded Coder).
Параметр: -misra3 |
Значение:
mandatory | mandatory-required | single-unit-rules | system-decidable-rules | all | SQO-subset1 | SQO-subset2 | from-file |
Пример (поиск ошибок):
polyspace-bug-finder -lang c -sources |
Пример (проверка кода): polyspace-code-prover -lang c -sources |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -lang c -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -lang c -sources |