exponenta event banner

Проверка процесса кодирования и интеграции

В следующей таблице содержится сводная информация о проверке целей процесса кодирования и интеграции из DO-178C, DO-331, DO-332 и DO-333, включая цель, применимые справочные разделы и уровни программного обеспечения, применимые к цели. В таблице также описаны доступные инструменты конструирования на основе модели для достижения поставленных целей.

Таблица A-5: Проверка процесса кодирования и интеграции

 ЦельСправочные разделыСправочные разделы по деятельностиУровни программного обеспеченияДоступные продукты для конструирования на основе моделей
1Исходный код соответствует требованиям низкого уровня.MB.6.3.4.aMB.6.3.4A, B, CНабор для проверки кода Simulink ® Inspector™, DO
2Исходный код соответствует архитектуре программного обеспечения.MB.6.3.4.b
OO.6.3.4.b
Из 6.3.4.b
Из 6.3.a
MB.6.3.4
OO.6.3.4
ИЗ 6.3.4
A, B, CSimulink Code Inspector, Polyspace ® Code Prover™, Polyspace Code Prover Server™,Polyspace Code Prover Server, квалификационный комплект DO
3Исходный код поддается проверке.MB.6.3.4.c
OO.6.3.4.c
Из 6.3.4.c
Из 6.3.e
MB.6.3.4
OO.6.3.4
ИЗ 6.3.4
A, BИнспектор кода Simulink, провайдер кода Polyspace, сервер проверочного кода Polyspace, квалификационный комплект DO
4Исходный код соответствует стандартам.MB.6.3.4.d
OO.6.3.4.d
Из 6.3.4.d
Из 6.3.f
MB.6.3.4
OO.6.3.4
ИЗ 6.3.4
A, B, CPolyspace Bug Finder™, проверка кода Polyspace, сервер проверки кода Polyspace, квалификационный комплект DO
5Исходный код отслеживается в соответствии с требованиями низкого уровня.MB.6.3.4.eMB.6.3.4A, B, CИнспектор кода Simulink, квалификационный комплект DO
6Исходный код является точным и непротиворечивым.MB.6.3.4.f
OO.6.3.4.f
Из 6.3.4.f
Из 6.3.b
Из 6.3.c
MB.6.3.4
OO.6.3.4
ИЗ 6.3.4
A, B, CSimulink Code Inspector, Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
7Вывод процесса интеграции программного обеспечения завершен и корректен.6.3.5.a6.3.5A, B, CНеприменимо
8Файл элемента данных параметра верен и завершен6.6.a6.6A, B, C, DНеприменимо
9Выполняется проверка файла элемента данных параметра.6.6.b6.6A, B, CНеприменимо
FM 10Случаи и процедуры формального анализа верны.Из 6.3.6.a
Из 6.3.6.b
ИЗ 6.3.6A, B, CСервер проверки кода Polyspace, сервер проверки кода Polyspace, квалификационный комплект DO
FM 11Результаты формального анализа верны, а расхождения объяснены.Из 6.3.6.cИЗ 6.3.6A, B, CСервер проверки кода Polyspace, сервер проверки кода Polyspace, квалификационный комплект DO
FM 12Формализация требований верна.Из 6.3.iИз 6.3.iA, B, CСервер проверки кода Polyspace, сервер проверки кода Polyspace, квалификационный комплект DO
FM 13Формальный метод правильно обоснован и уместен.ИЗ 6.2.1Из 6.2.1.a
Из 6.2.1.b
Из 6.2.1.c
A, B, C, DСервер проверки кода Polyspace, сервер проверки кода Polyspace, квалификационный комплект DO

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

Исходный код соответствует низкоуровневым требованиям

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

Инспектор кода Simulink может быть квалифицирован с помощью квалификационного комплекта DO.

Исходный код соответствует архитектуре программного обеспечения

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

Для рукописного кода, Polyspace Code Prover и Polyspace Code Prover Server доказывают приверженность архитектуре программного обеспечения, поскольку он анализирует использование глобальных переменных данных. На основе этого анализа инструмент автоматически создает глобальный словарь данных и определяет доступ к чтению и записи общих данных. Сервер проверки кода Polyspace и Сервер проверки кода Polyspace анализируют связи вызовов в исходном коде. На основе этого анализа инструмент автоматически вычисляет дерево вызовов приложения.

С помощью набора DO Qualification Kit можно квалифицировать Simulink Code Inspector, Polyspace Code Prover и Polyspace Code Prover Server.

Исходный код поддается проверке

Проверяемость кода можно проверить с помощью Simulink Code Inspector, который проверяет соответствие модели; Поскольку модель поддается проверке, код не нуждается в изменении для проверки.

Polyspace Bug Finder и Polyspace Bug Finder Server могут помочь в идентификации непроверяемых структур кода.

Polyspace Code Prover и Polyspace Code Prover Server могут помочь в идентификации недостижимого (и, следовательно, непроверяемого) кода, включая либо написанный вручную код, либо код, сгенерированный из модели.

С помощью набора DO Qualification Kit можно определить инспектора кода Simulink, поисковика ошибок Polyspace, сервера поиска ошибок Polyspace, программы проверки кода Polyspace и сервера проверки кода Polyspace.

Исходный код соответствует стандартам

Соответствие исходного кода стандартам можно проверить с помощью средства проверки правил MISRA C ®, MISRA ® C++ или JSF++ в программе поиска ошибок Polyspace, сервере поиска ошибок Polyspace, программе проверки кода Polyspace и сервере проверки кода Polyspace. Проверка MISRA C работает с Simulink. Эти продукты также способны определять цикломатическую сложность кода, который обычно также включается в стандарт кодирования.

С помощью квалификационного комплекта DO можно определить параметры Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server.

Исходный код отслеживается в соответствии с требованиями низкого уровня

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

Simulink Code Inspector может быть квалифицированным инструментом с помощью набора DO Qualification Kit.

Исходный код является точным и непротиворечивым

Точность и непротиворечивость исходного кода можно проверить с помощью Simulink Code Inspector, который проверяет точность и непротиворечивость модели.

Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server могут определять ошибки времени выполнения, такие как потенциальное недозаполнение, переполнение, деление на ноль и т.д. Эти продукты также могут обнаруживать неинициализированные переменные и константы. В следующей таблице указаны действия для определения правильности и непротиворечивости исходного кода, а также того, охватываются ли эти действия продуктами Polyspace.

ДеятельностьПокрывается сервером Polyspace Bug Finder/Polyspace Bug Finder Покрывается сервером проверки кода Polyspace/Polyspace Code Prover
Использование стекаНетДа
Использование памятиНетНет
Арифметическое переполнение с фиксированной точкой и разрешениеДаДа
Арифметика с плавающей запятойДаДа
Соперничество и ограничения ресурсовНетНет
Наихудшее время выполненияНетНет
Обработка исключенийНетНет
Использование неинициализированных переменныхДаДа
Управление кэшемНетНет
Неиспользуемые переменныеНетДа
Повреждение данных из-за конфликтов задач или прерыванийНетДа

Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server помогают идентифицировать:

  • Арифметические переполнения с фиксированной точкой

  • Использование неинициализированных переменных

  • Использование неинициализированных констант

  • Повреждение данных из-за конфликтов задач или прерываний

  • Неиспользуемые переменные

  • Неиспользуемые константы

  • Проблемы непротиворечивости типов

  • Преобразования типов, приводящие к недоливу или переполнению

  • Метрика использования стека

Эти продукты можно квалифицировать с помощью набора DO Qualification Kit.

Вывод процесса интеграции программного обеспечения завершен и корректен

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

Файл элемента данных параметра верен и завершен

Поскольку процесс проверки файла элемента данных параметра не входит в область проектирования на основе модели, проверьте файл элемента данных параметра с помощью традиционных методов.

Проверка файла элемента данных параметров достигнута

Поскольку процесс проверки файла элемента данных параметра не входит в область проектирования на основе модели, проверьте файл элемента данных параметра с помощью традиционных методов.

Случаи и процедуры формального анализа являются правильными

Это видно из квалификации Polyspace Code Prover и обоснования абстрактного толкования.

Результаты формального анализа верны и объясняются расхождения

Это достигается путем просмотра отчета о результатах ошибок выполнения программы Polyspace Code Prover. Любые расхождения должны быть объяснены и обоснованы.

Формализация требований правильна

Это видно из квалификации Polyspace Code Prover и обоснования абстрактного толкования.

Формальный метод правильно определен, обоснован и подходит

Теоретическая основа DO Qualification Kit: Polyspace Code Prover обосновывает обоснованность метода абстрактной интерпретации, используемого Polyspace Code Prover.