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

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

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

 ЦельСправочные разделыСправочные разделы по действиямУровни программного обеспеченияДоступные продукты для Модельно-ориентированного проектирования
1Исходный код соответствует низкоуровневым требованиям.MB.6.3.4.aMB.6.3.4A, B, CSimulink® Code Inspector™, DO Qualification Kit
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 Qualification Kit
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, BSimulink 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
MB.6.3.4
OO.6.3.4
ИЗ 6.3.4
A, B, CPolyspace Bug Finder™, Polyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
5Исходный код прослеживается до низкоуровневых требований.MB.6.3.4.eMB.6.3.4A, B, CSimulink 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
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Достигается верификация параметра Data Item File.6.6.b6.6A, B, CНе применяется
FM 10Формальные случаи анализа и процедуры верны.Из 6.3.6.a
Из 6.3.6.b
ИЗ 6.3.6A, B, CPolyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
FM 11Формальные результаты анализа верны и объяснены расхождения.Из 6.3.6.cИЗ 6.3.6A, B, CPolyspace Code Prover, Polyspace Code Prover Server, DO Qualification Kit
FM 12Формализация требований верна.Из 6.3.iИз 6.3.iA, B, CPolyspace 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.

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

Верифицируемость кода может быть проверена с помощью 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 Theoretical Foundation обосновывает обоснованность метода абстрактной интерпретации, используемого Polyspace Code Prover.