Продукты polyspace для анализа кода и верификации

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

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

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

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

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

  • До представления кода:

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

    Продукты могут быть интегрированы в ИДЫ, такие как Код Visual Studio, Visual Studio, или Eclipse™ или запуск со скриптами во время компиляции. Результаты анализа могут быть рассмотрены в ИДАХ или в графическом интерфейсе пользователя десктопных решений.

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

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

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

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

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

    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, Polyspace как, который Вы Кодируете, выполняет осциллограф файла подобный Bug Finder анализ и предоставляет почти мгновенную обратную связь разработчикам при кодировании.

Эта схема показывает одно возможное развертывание Продуктов polyspace:

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

Координирование предварительно представляет и постпредставляет использование Polyspace

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

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

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

Код Polyspace Products for Ada

Polyspace обеспечивает эти продукты для проверки кода Ada:

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

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

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

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

См. также https://www.mathworks.com/products/polyspace-ada.html.

Похожие темы