Поддержка Polyspace кодирования стандартов

Polyspace® Bug Finder и Polyspace, когда Вы Кодируете поддержку различные стандарты кодирования. Проверьте соответствие своего кода с этими стандартами путем анализа отдельных модулей перевода в IDE, и затем анализа целого исходного кода во время интегрирования. Polyspace, когда Вы Кодируете, поддерживает подмножество правил, что Bug Finder поддерживает. Смотрите Средства проверки, Деактивированные в Polyspace, когда Вы Кодируете Анализ По умолчанию.

Сводные данные поддержки Polyspace

СтандартРелизСтатически осуществимые правила, реализованные в Bug FinderТребуемые или императивные нормы, реализованные в Bug Finder
AUTOSAR C++ 1410-31-2018331 из 351 правила в стандарте312 из 362 правил в стандарте
MISRA C ++:2008Июнь 2008 [a] 192 из 198 правил в стандарте
MISRA C:2012Январь 2018 (Поправка 2)122 из 122 правил в стандарте126 из 126 правил в стандарте
CERT C2016120 из 120 правил в стандарте120 из 120 правил в стандарте

[a] MISRA C ++:2008 стандартов не категоризирует правила на основе их статической законной силы

Кодирующие стандарты категоризируют правила на основе своего уровня обязательства или своей статической законной силы. Polyspace поддерживает правила, которые рассматриваются неосуществимыми или частично осуществимыми стандартами. Осуществление этих правил требует ручного процесса рассмотрения, которому могут помочь результаты Polyspace.

AUTOSAR C++ 14

C++ AUTOSAR 14 стандартов категоризирует правила на основе их уровня обязательства и осуществления статическим анализом.

Уровень обязательства

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Требуемый: код должен следовать этим правилам.312362
Консультация: коду рекомендуют следовать этим правилам до разумной практической степени.3335

Осуществление статическим анализом

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Автоматизированный: Статический анализ может обнаружить все нарушение этих правил.312329
Частично автоматизированный: Статический анализ не может обнаружить все возможные нарушения этих правил. Вам нужны ручное рассмотрение кода или другие инструменты, чтобы полностью осуществить эти правила. Polyspace показывает подмножество всех возможных проблем. Для получения дополнительной информации, о котором Polyspace проблем обнаруживает, смотрите раздел Polyspace Implementation на странице с описанием этих правил.1922
Неавтоматизированный: Статический анализ не может обнаружить все возможные нарушения этих правил. Вам нужны ручное рассмотрение кода или другие инструменты, чтобы полностью осуществить эти правила. Polyspace показывает подмножество всех возможных проблем. Для получения дополнительной информации, о котором Polyspace проблем обнаруживает, смотрите раздел Polyspace Implementation на странице с описанием этих правил.1446

Автоматизированные и Частично автоматизированные правила статически осуществимы. Всего, Polyspace поддерживает 331 статически осуществимый C++ AUTOSAR 14 правил.

MISRA C ++:2008

MISRA C ++:2008 стандартов категоризирует правила на основе их уровня обязательства.

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Требуемый: код должен следовать этим правилам.192198
Консультация: коду рекомендуют следовать этим правилам до разумной практической степени.1818
Документ: Эти правила сопоставлены с различными функциями включая #pragmas, арифметику с плавающей точкой или битовые поля. Каждый раз, когда эти функции используются, код должен следовать связанному правилу.112

MISRA C:2012

Стандарт MISRA C:2012 классифицирует инструкции или как правило или как директиву.

Правила MISRA C:2012

Правило является инструкцией, которая может быть описана полностью. Соответствие с правилом может быть проверено статически с некоторым ограничением. Правила далее категоризированы на основе различных свойств.

Уровень обязательства

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Обязательный: Это инструкции, за которыми должен следовать совместимый код С. Стандарт не разрешает отклонения от этих инструкций.1616
Требуемый: Это инструкции, за которыми должен следовать совместимый код С. Стандарт разрешает только отклонения, которые вы официально записываете и авторизовываете.110110
Консультация: Им рекомендуют инструкции. Стандарт разрешает отклонение от этих инструкций без любой формальной записи. Это - лучшая практика, чтобы следовать этим инструкциям до довольно практической степени и записать отклонения.3232

Совместимый код С должен следовать Обязательным и Необходимым правилам. Polyspace поддерживает все такие правила.

Статическая законная сила

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Разрешимый: правило разрешимо, если инструмент статического анализа может проверить соответствие правилу в каждом возможном случае.122122
Неразрешимый: правило неразрешимо, если инструмент статического анализа может проверить соответствие к нему только в определенных случаях. Polyspace показывает подмножество всех возможных проблем. Для получения дополнительной информации, о котором Polyspace проблем обнаруживает, смотрите раздел Polyspace Implementation на странице с описанием этих правил.3636

Область анализа

КатегорияПравила, реализованные в Bug FinderПравила в стандарте
Один Модуль Перевода: можно найти все нарушения этих правил путем проверки каждого модуля перевода проекта индивидуально.109109
Система: можно найти все нарушения этих правил только путем анализа целого проекта или системы.4949

Директивы MISRA C:2012

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

Уровень обязательства

КатегорияДирективы, реализованные в Bug FinderДирективы в стандарте
Требуемый: Это инструкции, за которыми должен следовать совместимый код С. Стандарт разрешает только отклонения, которые вы официально записываете и авторизовываете.910
Консультация: Им рекомендуют инструкции. Стандарт разрешает отклонение от этих инструкций без любой формальной записи. Это - лучшая практика, чтобы следовать этим инструкциям до довольно практической степени и записать отклонения.67

CERT C

Polyspace поддерживает все статически осуществимые правила в CERT C стандарт. Стандарт категоризирует инструкции в правила и рекомендации. Polyspace не поддерживает правила, которые удаляются или в процессе строительства.

КатегорияПроверки, реализованные в Bug FinderРегистрации стандарта
Правило: Эти инструкции требуются. Нарушение этих инструкций может поставить под угрозу безопасность, безопасность или надежность системы. Инструменты статического анализа могут обеспечить соблюдение с этими инструкциями.120120
Рекомендация: Эти инструкции предназначаются, чтобы улучшить удобочитаемость, безопасность и безопасность системы. Статический анализ может только обнаружить подмножество нарушений этих инструкций. Polyspace показывает подмножество всех возможных проблем. Для получения дополнительной информации, о котором Polyspace проблем обнаруживает, смотрите страницу с описанием этих правил.83183

Другой

Polyspace также поддерживает эти правила стандартов кодирования.

СтандартПравила, реализованные в Bug Finder
MISRA C:2004132 из 142 правил в стандарте
AGC AC MISRA130 из 142 в стандарте
ISO/IEC TS 1796146 из 46 в стандарте
JSF AV C++160 из 234 в стандарте
CERT C++138 из 163 в стандарте

Смотрите также

| | | | |

Похожие темы