Анализируйте многозадачные программы в Polyspace

С Polyspace® можно анализировать программы где несколько потоков (задачи), запущенные одновременно.

В дополнение к регулярным проверкам на этапе выполнения анализ ищет проблемы, характерные для параллельного выполнения:

  • Гонки данных, мертвые блокировки, последовательные или недостающие блокировки и разблокировали (Средство поиска Ошибки)

  • Незащищенные совместно используемые переменные (Программа автоматического доказательства Кода)

Сконфигурируйте анализ

Если ваш код использует многозадачные примитивы от определенных семейств, например, pthread_create для создания потока:

  • В Средстве поиска Ошибки анализ обнаруживает их и извлекает вашу многозадачную модель из кода.

  • В Программе автоматического доказательства Кода необходимо включить это автоматическое обнаружение явным образом.

Смотрите автоматическое обнаружение создания потока и критического раздела в Polyspace.

В качестве альтернативы задайте свою многозадачную модель через аналитические опции. В пользовательском интерфейсе опции находятся на узле Multitasking в панели Configuration. Для получения дополнительной информации смотрите Анализ Многозадачности Polyspace Конфигурирования Вручную.

Рассмотрите результаты анализа

Средство поиска ошибки

Анализ Средства поиска Ошибки показывает дефекты параллелизма, такие как гонки данных и мертвые блокировки. Смотрите Дефекты Параллелизма.

Программа автоматического доказательства кода

Анализ Программы автоматического доказательства Кода исчерпывающе проверяет, защищены ли разделяемые глобальные переменные от параллельного доступа. Смотрите Глобальные переменные.

Рассмотрите результаты с помощью сообщения на панели Result Details. Смотрите визуальное представление конфликтных операций с помощью (график) значок.

Похожие темы