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

![]()
В дополнение к регулярным проверкам времени выполнения, анализ ищет проблемы, специфичные для параллельного выполнения:
Гонки данных, взаимоблокировки, последовательные или отсутствующие блокировки и разблокировки (Bug Finder)
Незащищенные общие переменные (средство проверки кода)
![]()
![]()

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

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

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