WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

MISRA C — стандарт разработки программного обеспечения на языке Си, разработанный MISRA (Motor Industry Software Reliability Association). Цель стандарта — улучшить безопасность, переносимость и надежность программ для встраиваемых систем. Также существует набор похожих руководящих принципов для языка C++ под названием MISRA C ++.

В настоящее время стандарты MISRA используются не только в автомобильной индустрии, но также и в аэрокосмической, телекоммуникационной, разработке медицинских устройств, военных проектах, и других[1][2][3]

Первая редакция стандарта MISRA C, «Guidelines for the use of the C language in vehicle based software», была опубликована в 1998 году, и часто называется MISRA-C:1998.[4]

В 2004 была издана вторая редакция под названием «Guidelines for the use of the C language in critical systems» (MISRA-C:2004) со значительными изменениями, включая перенумерацию правил.

Продолжается работа над следующей редакцией стандарта, адаптированной к C99.

Текст стандарта MISRA C доступен только за плату.[5]

Правила

В MISRA-C:1998 перечислено 127 правил[6] (93 обязательных и 34 рекомендательных).

В MISRA-C:2004 141 правило (121 обязательное и 20 рекомендательных). Правила разделены на 21 категорию.

В MISRA-C:2012 143 правила (каждое из которых может быть проверено статическим анализатором кода) и 16 директив (правил, соответствие которым открыто для интерпретаций или связано с процессами и процедурами);[7]. Правила делятся на обязательные, требуемые и рекомендательные; могут распространяться на отдельные единицы трансляции или на всю систему[7]. Также правила разделены на Decidable и Undecidable.

В стандарте MISRA C++ 2008 года, основанном на C++2003, 228 правил[8].

Анализаторы

Существует множество программных анализаторов, которые проверяют код на соответствие правилам «MISRA», однако процесса сертификации MISRA не существует.[9]

Большая часть правил может быть проверена при помощи утилит статического анализа кода, но часть из них требуют применения средств динамического анализа.

Анализаторы, проверяющие соответствие MISRA
Компиляторы C, которые могут проверять соответствие MISRA, выпускаются компаниями

См. также

Примечания

  1. MISRA C and MISRA C++ Compliance | PRQA | PRQA
  2. Cosmic Software - MISRA checker
  3. LDRA: Using the LDRA tool suite for MISRA-C:2004 Certification
  4. A brief history of MISRA C
  5. «Buying MISRA C»
  6. computing.unn.ac.uk/staff/cgam1/teaching/0703/misra%20rules.pdf Документ с перечислением всех 127 правил
  7. 1 2 Fact Sheet: MISRA C:2012 (PDF). programmingresearch.com. Проверено 10 июня 2013.
  8. Build secure and reliable embedded systems with MISRA C/C++ | Embedded
  9. MISRA C FAQ
  10. PVS-Studio: поддержка стандартов кодирования MISRA C и MISRA C++. www.viva64.com. Проверено 10 декабря 2018.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

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

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии