Доказательство отсутствия RUN-TIME ошибок во встраиваемом С/С++ коде

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

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

Тренинг предназначен для инженеров, ответственных за разработку программного обеспечения или моделей, применяемых для разработки встраиваемых систем. На тренинге рассматриваются следующие темы:
создание проекта верификации;
исследование и понимание результатов верификации;
эмуляция исполнения кода на целевой платформе;
работа с отсутствующими функциями и данными
работа с неподтвержденным кодом (отмечен оранжевым в инструментах Polyspace)
применение правил написания кода MISRA
создание отчетов

Предварительная подготовка:

Серьезные знания C, C++

Инструменты

Polyspace Bug Finder
Polyspace Code Prover

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

2 дня

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

Модуль 1. Введение в инструменты верификации кода Polyspace
Цель: ознакомление с инструментами Polyspace и работа с начальным примером.
Процесс разработки ПО с Polyspace
Простейший пример верификации
Анализ дефектов и ошибок времени исполнения

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

Модуль 3. Анализ результатов верификации Polyspace Code Prover
Цель: эффективный анализ результатов работы Polyspace Code Prover.
Обзор абстрактной интерпретации
Анализ дерева вызовов
Навигация по исходному коду
Выполняемые ветви
Диапазон значений переменной
Глобальные переменные

Модуль 4. Проверки исходного кода
Цель: обнаружение ошибок времени исполнения с помощью диагностик Polyspace Code Prover
Обзор проверок С кода
Описание проверок
Настройка верификации

Модуль 5. Управление верификацией и ее результатами
Цель: работа с результатами верификации, содержащими большое количество неподтвержденных маркеров («оранжевые»).
Определение затрат на верификацию
Быстрый обзор
Избирательный обзор
Определение точности верификации
Определение приоритетов оранжевых маркеров
Обзор оранжевых маркеров

Модуль 6. Улучшение точности верификации
Цель: изучение работы Polyspace с отсутствующим кодом во время верификации, способов влияния на это поведение для получения более точных результатов.
Проверка робастности ПО и контекстная верификация
Создание «заглушек» для функций
Определение диапазона данных

Модуль 7. Анализ интеграции ПО
Цель: ознакомиться с управлением верификации сложного кода и интерпретацией результатов интеграции ПО с помощью анализа на робастность
Управление модулями кода
Анализ дефектов интеграции с Polyspace Bug Finder и Polyspace Code Prover
Импорт комментариев

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

Модуль 9. Анализ приложений
Цель: обзор процедур и настроек, позволяющих упростить верификацию всего приложения.
Настройка верификации приложения
Улучшение результатов верификации
Обнаружение дефектов многопоточности
Сравнение проверок на робастность и контекстной верификации