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

![]()
В дополнение к регулярным проверкам на этапе выполнения анализ ищет проблемы, характерные для параллельного выполнения:
Гонки данных, мертвые блокировки, последовательные или недостающие блокировки и разблокировали (Средство поиска Ошибки)
Незащищенные совместно используемые переменные (Программа автоматического доказательства Кода)
![]()
![]()

![]()
Если ваш код использует многозадачные примитивы от определенных семейств, например, pthread_create для создания потока:
В Средстве поиска Ошибки анализ обнаруживает их и извлекает вашу многозадачную модель из кода.
В Программе автоматического доказательства Кода необходимо включить это автоматическое обнаружение явным образом.
Смотрите автоматическое обнаружение создания потока и критического раздела в Polyspace.
В качестве альтернативы задайте свою многозадачную модель через аналитические опции. В пользовательском интерфейсе опции находятся на узле Multitasking в панели Configuration. Для получения дополнительной информации смотрите Анализ Многозадачности Polyspace Конфигурирования Вручную.
![]()
![]()

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

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