${message}

${message}

Тренинг предназначен для инженеров, ответственных за разработку программного обеспечения или моделей, применяемых для разработки встраиваемых систем. 

Рассматриваемые темы:

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

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

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

Продолжительность тренинга - 2 дня.

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

  1. Введение в инструменты верификации кода Polyspace;
  2. Polyspace Bug Finder;
  3. Анализ результатов верификации Polyspace Code Prover;
  4. Проверки исходного кода;
  5. Управление верификацией и ее результатами;
  6. Улучшение точности верификации;
  7. Анализ интеграции ПО;
  8. Метрики и отчеты о качестве ПО;
  9. Анализ приложений.

Подробная программа

Модуль 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. Анализ приложений

Цель: обзор процедур и настроек, позволяющих упростить верификацию всего приложения.

  • Настройка верификации приложения;
  • Улучшение результатов верификации;
  • Обнаружение дефектов многопоточности;
  • Сравнение проверок на робастность и контекстной верификации.

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