Статический анализ C/C++ кода для встраиваемых систем

Записаться на обучение

Описание курса

В этом курсе обсуждается использование Polyspace Bug Finder для обнаружения алгоритмических дефектов, улучшения метрик качества программного обеспечения и обеспечения надежности конечного продукта. Этот практический курс предназначен для инженеров, разрабатывающих программное обеспечение или модели для встраиваемых систем. Курс содержит следующие темы:
Создание проекта для анализа кода
Рассмотрение и понимание результатов анализа
Эмуляция целевой среды выполнения
Применение правил MISRA-C
Создание отчетов по результатам анализа

Для прохождения курса требуются

Хорошие знания C или C++

Продолжительность

1 день

Связанные продукты

Polyspace Bug Finder

Программа курса

Модуль 1. Обзор рабочего процесса Polyspace.
Ознакомление с Polyspace Bug Finder и работа с вводным примером.
Рабочие процессы с использованием Polyspace
Простой пример верификации
Анализ дефектов

Модуль 2. Анализ в Polyspace Bug Finder.
Анализ кода, который может быть несовместим с ANSI C, учет среды исполнения и исправление дефектов при помощи Bug Finder.
Общие артефакты среды исполнения
Работа с платформозависимым кодом
Определение контекста исполнения
Настройка информации об аппаратной платформе
Анализ и управление дефектами в Bug Finder

Модуль 3. Обеспечение соответствия стандарту MISRA C.
Анализ, фильтрация и исправление нарушений правил кодирования при помощи Polyspace.
Выявление нарушений стандартов кодирования
Анализ и фильтрация результатов проверки
Исправление нарушений и документация отклонений от стандарта кодирования

Модуль 4. Измерение и документирование качества программного обеспечения.
Использование Polyspace Metrics для совместного доступа и каталогизации результатов верификации и для генерации стандартных отчетов по результатам верификации.
Совместный доступ к результатам
Использование Polyspace Metrics
Проверка метрик качества программного обеспечения
Создание документации

Модуль 5. Анализ интеграции модулей программного обеспечения.
Управление верификацией при увеличении сложности кода, а также интерпретация и сравнение результатов анализа отдельного модуля и модулей проекта в интеграции.
Управление модулями кода
Анализ дефектов интеграции и нарушения правил при помощи Bug Finder и Code Prover
Импорт комментариев
Улучшение результатов верификации всего проекта
Обнаружение проблем с конкурентным доступом к ресурсам
Верификация на робастность и верификация с учетом контекста