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

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

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

 ЦельКасательно разделовДействие касательно разделовПрограммные уровниДоступные продукты для модельно-ориентированного проектирования
1Исходный код выполняет низкоуровневые требования.MB.6.3.4.aМбит 6.3.4A, B, C Simulink® Code Inspector™, DO Qualification Kit
2Исходный код выполняет программную архитектуру.MB.6.3.4.b
OO.6.3.4.b
Из 6.3.4.b
Из 6.3.a
Мбит 6.3.4
OO 6.3.4
ИЗ 6.3.4
A, B, C Simulink Code Inspector, Polyspace® Code Prover™, Polyspace Code Prover Server™, Polyspace Code Prover Server, DO Qualification Kit
3Исходный код поддается проверке.MB.6.3.4.c
OO.6.3.4.c
Из 6.3.4.c
Из 6.3.e
Мбит 6.3.4
OO 6.3.4
ИЗ 6.3.4
A, B Simulink Code Inspector, Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
4Исходный код соответствует стандартам.MB.6.3.4.d
OO.6.3.4.d
Из 6.3.4.d
Из 6.3.f
Мбит 6.3.4
OO 6.3.4
ИЗ 6.3.4
A, B, C Polyspace Bug Finder™, Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
5Исходный код прослеживаем к низкоуровневым требованиям.MB.6.3.4.eМбит 6.3.4A, B, C Simulink Code Inspector, DO Qualification Kit
6Исходный код точен и сопоставим.MB.6.3.4.f
OO.6.3.4.f
Из 6.3.4.f
Из 6.3.b
Из 6.3.c
Мбит 6.3.4
OO 6.3.4
ИЗ 6.3.4
A, B, C Simulink 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 Code Prover, Polyspace Code Prover Server, DO Qualification Kit
FM 11Формальные результаты анализа правильны и объясненные несоответствия.Из 6.3.6.cИЗ 6.3.6A, B, C Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
FM 12Формализация требований правильна.Из 6.3.iИз 6.3.iA, B, C Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
FM 13Формальный метод правильно выравнивается по ширине и соответствующий.ИЗ 6.2.1Из 6.2.1.a
Из 6.2.1.b
Из 6.2.1.c
A, B, C, DPolyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

Можно квалифицировать Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server с помощью DO Qualification Kit.

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

Трассируемость исходного кода к низкоуровневым требованиям может быть проверена с помощью 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 Server Покрытый Polyspace Code Prover / Polyspace Code Prover Server
Использование стекаНетДа
Использование памятиНетНет
Переполнение вычислений с фиксированной точкой и разрешениеДаДа
Арифметика с плавающей точкойДаДа
Конкуренция ресурса и ограниченияНетНет
Худшая синхронизация выполнения случаяНетНет
Обработка исключенийНетНет
Использование неинициализированных переменныхДаДа
Управление кэшемНетНет
Неиспользуемые переменныеНетДа
Повреждение данных из-за задачи или конфликтов прерыванияНетДа

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.