Соответствуют ли библиотеки BLAS и LAPACK стандарту MISRA?

Думаю, ответ нет. Тем не менее, мне было интересно, если кто-то имеет некоторое представление об этой теме.

Соответствуют ли библиотеки BLAS и LAPACK стандартам MISRA? Стандарты MISRA (MISRA C:1998, MISRA C:2004, MISRA C:2012) чрезвычайно требовательны, и я считаю, что библиотеки BLAS и LAPACK им не соответствуют. Следовательно, я не должен использовать такие библиотеки, если мой программный проект требует соответствия требованиям MISRA.

Любое понимание этого вопроса будет чрезвычайно оценено :)


person enanone    schedule 23.04.2018    source источник


Ответы (2)


Если библиотека активно не рекламируется как совместимая с MISRA-C, можно с уверенностью предположить, что это не так.

Существуют в основном различные уровни строгости, которые вы можете применить к своему проекту. Либо вы делаете какой-то «легкий MISRA», когда ваше собственное приложение выполняет MISRA, а библиотеки — нет. Или вы требуете, чтобы каждая библиотека, включая стандартные библиотеки, была совместима с MISRA.

С первым все в порядке, если вы просто используете MISRA в качестве стандарта для устранения ошибок. Но если вы используете MISRA из соображений безопасности, то все библиотеки должны соответствовать требованиям, включая в некоторой степени стандартную библиотеку компилятора (если она используется).

person Lundin    schedule 24.04.2018

Позвольте мне указать вам на Соответствие MISRA:2016, которое более подробно рассматривает сложный вопрос достижения соответствия MISRA — и может быть адаптирован к ЛЮБЫМ языковым рекомендациям MISRA.

Раздел «Принятый код» должен помочь ответить на ваш вопрос — и, говоря простым языком, если библиотека не поставляется с соответствующей сводкой о соответствии, тогда ответ в №

Следует ли вам использовать такие библиотеки в производственном коде, зависит от вас (и вашего проекта) — соответствующая документация (и дополнительные V&V могут быть адекватными) — и это повлияет на ваше собственное соответствие.

{пожалуйста, обратите внимание на профиль для отказа от ответственности}

person Andrew    schedule 25.04.2018