exponenta event banner

Продукты Polyspace для анализа и проверки кода

Продукты Polyspace ® используют статический анализ для проверки кода на наличие ошибок во время выполнения, нарушений стандартов кодирования, уязвимостей безопасности и других проблем:

  • Статический инструмент анализа, такой как Polyspace Code Prover™, может охватывать все возможные пути выполнения через программу и отслеживать поток данных вдоль этих путей, следуя определенным математическим правилам. Исчерпывающий контроль и анализ потока данных могут дополнять динамическое тестирование и обнаруживать потенциальные ошибки во время выполнения, которые могут не обнаруживаться в обычных тестах надежности.

  • Средство статического анализа, такое как Polyspace Bug Finder™, может сканировать программу на наличие более очевидных ошибок во время выполнения, уязвимостей безопасности, нарушений стандартов кодирования и других проблем, которые могут привести к ошибкам во время выполнения или неожиданным результатам.

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

Набор продуктов Polyspace поддерживает все этапы процесса разработки программного обеспечения:

  • До подачи кода:

    Разработчики могут запускать настольные или ориентированные на IDE продукты Polyspace для проверки кода во время разработки или непосредственно перед отправкой для достижения заранее определенных целей качества.

    Продукты можно интегрировать в IDE, такие как Visual Studio Code, Visual Studio или Eclipse™, или запускать со сценариями во время компиляции. Результаты анализа можно просмотреть в IDE или в графическом интерфейсе пользователя настольных продуктов.

    Polyspace предоставляет следующие продукты для использования на рабочем столе. Эти продукты предназначены для работы в полных проектах или небольших модулях кода (вплоть до одного исходного файла).

    • Polyspace Bug Finder для проверки кода на наличие семантических ошибок, которые компилятор не может обнаружить (например, использование = вместо ==), проблемы параллелизма, уязвимости безопасности и другие дефекты исходного кода C и C++. Анализ также может обнаружить некоторые ошибки времени выполнения.

    • Программа Polyspace Code Prover выполняет гораздо более глубокую проверку и доказывает отсутствие переполнения, деления на ноль, доступа к массиву вне границ и других ошибок времени выполнения в исходном коде C и C++.

  • После отправки кода:

    Серверные продукты Polyspace могут запускаться автоматически на новом коде как шаг сборки в непрерывном процессе интеграции (с использованием таких инструментов, как Jenkins). Анализ выполняется на сервере, и результаты загружаются в веб-интерфейс для совместной проверки.

    Polyspace предоставляет следующие продукты для использования на сервере:

    • Polyspace Bug Finder Server™ автоматически запускать Bug Finder на сервере и загружать результаты в веб-интерфейс для просмотра, а Polyspace Bug Finder Access™ просматривать загруженные результаты.

    • Polyspace Code Prover Server автоматически запускает Code Prover на сервере и загружает результаты в веб-интерфейс для просмотра, а Polyspace Code Prover Access - для просмотра загруженных результатов.

Как правило, Polyspace Bug Finder Server (или Polyspace Code Prover Server) работает на нескольких серверах сборки и проверяет новый код как часть сборки и тестирования программного обеспечения. Каждый рецензент (разработчик, инженер по обеспечению качества или менеджер по разработке) имеет лицензию Polyspace Bug Finder Access (или Polyspace Code Prover Access) для просмотра загруженных результатов анализа.

Кроме того, если разработчики имеют доступ к Polyspace Bug Finder Access для веб-просмотра результатов после отправки, они также могут установить Polyspace в качестве кода в свои IDE для анализа перед отправкой. При установке в качестве расширения IDE Polyspace as You Code выполняет файловый анализ, подобный Bug Finder, и обеспечивает практически мгновенную обратную связь с разработчиками при кодировании.

На этой схеме показан один возможный вариант развертывания продуктов Polyspace.

При использовании настольных и серверных продуктов рабочий процесс перед отправкой может плавно переходить в рабочий процесс после отправки.

Координация предварительного и последующего использования Polyspace

При запуске нескольких продуктов Polyspace на отдельных этапах рабочего процесса разработки программного обеспечения более поздние запуски могут воспользоваться преимуществами более раннего использования и наоборот. В частности:

  • Разработчики, использующие Polyspace в качестве кода в своих IDE, могут легко исправить дефекты и нарушения стандартов кодирования, которые могут быть найдены и устранены в одном файле. Более поздний анализ Polyspace Bug Finder Server после отправки кода больше не показывает эти проблемы.

  • Результаты анализа Polyspace Bug Finder Server могут выступать в качестве базовой структуры для Polyspace при выполнении кода. Разработчики, использующие последний результат Polyspace Bug Finder Server в качестве базового для своих запусков среды IDE, могут сосредоточиться только на проблемах, возникающих в результате изменений кода.

Продукты Polyspace для кода Ada

Polyspace предоставляет следующие продукты для проверки кода Ada:

  • Polyspace Client™ для Ada проверить код Ada на наличие ошибок времени выполнения на рабочем столе.

  • Polyspace Server for Ada проверяет код Ada на наличие ошибок времени выполнения на сервере.

Можно использовать настольный продукт для выполнения анализа на рабочем столе или комбинацию настольных и серверных продуктов для выполнения анализа на сервере. Результаты анализа загружаются на рабочий стол для просмотра.

Если у вас есть лицензия Polyspace Code Prover Access и вы настроили веб-интерфейс Polyspace Code Prover Access, вы можете загрузить каждый отдельный результат Ada из настольных продуктов Ada в веб-интерфейс для совместной проверки.

См. также:

Связанные темы