${message}

Автоматизация инспекций исходного кода для удовлетворения стандартам безопасности.

Сферы применения

Simulink Code Inspector автоматически сравнивает сгенерированный код с его исходной моделью для удовлетворения требований инспекции кода (Code Review) для DO-178 и других стандартов разработки критичного к безопасности ПО. Simulink Code Inspector систематически проверяет блоки, диаграммы состояний, параметры и настройки модели, чтобы определить, являются ли они структурно эквивалентными операциям, операторам и данным в сгенерированном коде. Simulink Code Inspector предоставляет подробный анализ трассируемости между моделями и кодом. Он генерирует отчеты структурной эквивалентности и трассируемости, которые можно представить сертификационному органу при сертификации по DO-178.

Поддержка отраслевых стандартов доступна с помощью DO Qualification Kit (для DO-178).

Ключевые особенности

  • Анализ структурной эквивалентности и отчеты
  • Двунаправленный анализ трассируемости, отчеты о трассируемости
  • Средство проверки совместимости ограничивает использование модели, блока, диаграммы состояний и настройками Embedded Coder, обычно используемыми в приложениях с высокой степенью надежности.
  • Независимость инструмента от генераторов кода Simulink
  • Поддержка квалификации инструмента с помощью DO Qualification Kit

Модель (вверху), сгенерированный код (внизу) и отчет о проверке кода (справа) от Simulink Code Inspector

Подготовка модели

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

Пользовательский интерфейс Simulink Code Inspector (слева) и результаты проверки совместимости модели (справа)

Генерация и инспекция кода

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

  • Интерфейсы моделей
  • Поведение блоков
  • Порядок выполнения и соединения блоков
  • Упаковка данных и файлов
  • Локальные переменные и функциональные элементы модели
Конкретные анализы выполняются в диапазоне от высокоуровневой оценки интерфейса, такой как проверка того, были ли сгенерированы функции инициализации и пошагового выполнения, до детального анализа порядка выполнения блоков, чтобы определить, сохраняется ли зависимость данных между двумя компонентами блока в сгенерированном коде.
Сообщение о состоянии инспекции может быть просмотрено непосредственно в MATLAB. В результате инспекций генерируются подробные отчеты, (см. следующий раздел), которые включают подробный анализ трассируемости с интерактивными ссылками на объекты проекта.



Успешная инспекция кода с использованием команд MATLAB

Отчеты об инспекциях

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

  • Проверку интерфейсов функций
  • Трассируемость модели на код
  • Трассируемость кода на модель
  • Использование временных переменных
Детали отслеживания включают в себя:

  • Трассируемость от модели к коду
  • Отслеживание кода к модели

Подробный отчет Simulink Code Inspector с результатами верификации кода по модели (слева) и трассируемости между кодом и моделью (справа)

Цели DO-178

Стандарт RTCA DO-178C (КТ-178С, «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники») определяет цели проверки исходного кода. Автоматическая проверка кода, предоставляемая Simulink Code Inspector, сокращает время, необходимое для выполнения целей проверки исходного кода, как показано в таблице ниже. Цель (3) полностью удовлетворяется с помощью Simulink Code Inspector в сочетании со статическим анализатором Polyspace Bug Finder. Кроме того, Цель (4) удовлетворяется с помощью таких инструментов, как статический анализатор Polyspace Bug Finder. Поддержка квалификации инструмента для продуктов Simulink Code Inspector и Polyspace ® обеспечивается DO Qualification Kit (для DO-178).

Задачи DO-178C, совместимые с Simulink Code Inspector


Приложение A

Таблица

Цель

Ссылка на DO-331*

Уровень ПО

Таблица MB А-5

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

Раздел MB 6.3.4a

A, B, C

Таблица MB А-5

(2) Исходный код соответствует архитектуре ПО

Раздел MB 6.3.4b

A, B, C

Таблица MB A-5

(3) Исходный код верифицируем

Раздел MB 6.3.4c

A, B

Таблица MB A-5

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

Раздел MB 6.3.4e

A, B, C

Таблица MB A-5

(6) Исходный код правилен и непротиворечив **

Раздел MB 6.3.4f

A, B, C

* См. Р-331, «Разработка и верификация на основе модели»
** Не охватывает задачи, требующие анализа компилятора и объектного кода.

Поделиться

Задать вопрос

*
Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных . Мы, ООО ЦИТМ "Экспонента" и аффилированные к нему лица, гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях эффективного исполнения заказов, договоров и пр. в соответствии с «Политикой конфиденциальности персональных данных». * - обязательные поля