Чтобы постараться не находить ошибки поздно в процессе разработки, запустите статический анализ при помощи продуктов Polyspace®.
Polyspace Bug Finder™ проверяет код C/C++ на ошибки, кодируя стандартные нарушения, уязвимости системы обеспечения безопасности и другие проблемы.
Polyspace Code Prover™ выполняет исчерпывающие проверки для деления нулем, переполнением, доступ к массиву за пределы и другие общие типы ошибок времени выполнения.
См. также Выбирают Between Polyspace Bug Finder и Polyspace Code Prover.
Если вы регулярно запускаете средства проверки Polyspace как часть непрерывного интегрирования, можно защитить от регрессий от новых регистраций кода. Чтобы запустить Polyspace на сервере во время непрерывного интегрирования, используйте Polyspace Bug Finder Server и Polyspace Code Prover Server. Чтобы разместить результаты анализа Polyspace, используйте Polyspace Bug Finder Access и Polyspace Code Prover Access.
Типичный рабочий процесс выглядит так фигура.
В зависимости от потребностей вашего проекта, команды или организации, вы решили получить определенное число лицензий Сервера Polyspace и Polyspace доступ к продуктам. Это руководство помогает вам установить отдельные экземпляры этих продуктов на машине.
Чтобы установить Серверные продукты Polyspace, загрузите и запустите установщика MathWorks. Введите лицензию на Серверные продукты Polyspace (или запросите пробную лицензию). См. также Запрос Пробная лицензия. Серверные продукты Polyspace установлены в отдельной папке от других продуктов MathWorks®. См. также Сервер Polyspace Установки и доступ к продуктам.
Прежде, чем установить Polyspace доступ, рассмотрите количество пользователей, которые потенциально рассмотрят результаты Polyspace одновременно. Системные требования зависят от количества одновременных рецензентов. См. также Системные требования для Polyspace доступ (к Polyspace Code Prover Access).
Polyspace доступ состоит из нескольких сервисов: база данных, чтобы управлять результатами, диспетчер пользователей, чтобы обработать пользовательское имя для входа в систему, веб-сервер, чтобы показать результаты и шлюз, чтобы обработать коммуникации. Сервисы развертываются в контейнерах Докера. Можно запустить, сервисы от общего интерфейса вызвали Кластерный Оператор.
Устанавливать Polyspace доступ:
Загрузите инсталлятор как zip-файл.
Разархивируйте файл и запустите Кластерный Оператор. От интерфейса Cluster Operator запустите различные сервисы. Смотрите Polyspace Установки доступ (к Polyspace Code Prover Access).
После установки, чтобы видеть загруженные результаты, вы и другие рецензенты можете войти в систему:
https://hostName:portNumber/metrics/index.html
Вы или ваш отдел ИТ в вашей организации должны установить необходимое количество Сервера Polyspace и Polyspace доступ к экземплярам. Это руководство помогает вам настроить анализ Polyspace как часть непрерывного интегрирования с помощью одного экземпляра Сервера Polyspace и Polyspace доступ.
Чтобы проверять, что ваш Сервер Polyspace и Polyspace доступ к установкам могут связаться друг с другом, смотрите Установку Polyspace Проверки.
Можно запустить Серверные продукты Polyspace в командной строке операционной системы:
Чтобы запустить анализ, используйте polyspace-bug-finder-server
и polyspace-code-prover-server
исполняемые файлы.
Чтобы загрузить результаты анализа, используйте polyspace-access
исполняемый файл. Можно также использовать этот исполняемый файл, чтобы экспортировать результаты Polyspace доступ как текстовые файлы для почтовых прикреплений или архивации.
Можно запустить все исполняемые файлы Polyspace от polyspace/bin
подпапка папки установки Polyspace (например, /usr/local/Polyspace Server/R2020a
, см. также Папку Установки). Чтобы запустить рабочий Сервер Polyspace при помощи выборки C исходные файлы и демонстрационные скрипты, см.:
Можно также предварительно сконфигурировать аналитические опции Polyspace от команды сборки (make-файл), и затем добавить второй файл опций с аналитическими техническими требованиями, такими как средства проверки. Смотрите Готовят Скрипты к Анализу Polyspace.
Если у вас есть установка десктопных решений Polyspace, можно подготовить аналитическую настройку в пользовательском интерфейсе десктопных решений. Можно затем сгенерировать файлы опций Polyspace, чтобы запуститься во время непрерывного интегрирования. Смотрите Конфигурируют Аналитические Опции Polyspace в Пользовательском интерфейсе и Генерируют Скрипты.
Если у вас есть рабочие скрипты, чтобы запустить анализ Polyspace, можно запустить те скрипты в предопределенных интервалах с помощью непрерывных инструментов интегрирования, таких как Дженкинс и Бамбук. В Дженкинсе можно использовать плагин Polyspace, чтобы указать на установки Polyspace и отправить уведомления по электронной почте разработчикам после анализа, на основе критериев, таких как новые дефекты.
Из интерфейса Дженкинса ищите и установите плагин Polyspace. Для быстрого запуска при использовании плагина Дженкинса и демонстрационных скриптов, смотрите плагин Polyspace репозиторий GitHub. Для полного рабочего процесса с Дженкинсом см. Демонстрационные Скрипты для Анализа Polyspace с Дженкинсом.
В зависимости от инструментов, которые вы уже используете, можно настроить удобный рабочий процесс для рецензентов результата. Например:
Рецензенты получают предупреждения для новых результатов и журнала в Polyspace доступ
Когда новые результаты доступны, непрерывный инструмент интегрирования предупреждает группу пользователей. Предупреждение по электронной почте содержит Polyspace доступ к URL проекта, где результаты загружаются.
В интерфейсе Polyspace Access рецензент может открыть этот проект URL, результаты фильтра на основе файлов, и устранить проблемы или установить состояние для результатов. Смотрите также:
Фильтр и сортировка результатов (Polyspace Code Prover Access)
Обратитесь к результатам Polyspace через исправления ошибок или выравнивания (Polyspace Code Prover Access)
Рецензенты получают индивидуально настраиваемые предупреждения по электронной почте результатами в прикреплении
Перед загрузкой на Polyspace доступ, с помощью -set-unassigned-findings
опция polyspace-access
исполняемый файл, инструмент непрерывного интегрирования (CI) присваивает владельцев новым результатам анализа на основе файла или владения компонента или другого критерии.
После загрузки, с помощью -export
опция polyspace-access
исполняемый файл, инструмент CI экспортирует результаты анализа для каждого владельца к отдельному текстовому файлу. Инструмент затем отправляет текстовый файл в почтовом прикреплении владельцу. Текстовый файл содержит результаты с соответствующими URL в интерфейсе Polyspace Access.
Если вы используете Дженкинса в качестве своего инструмента CI, плагин Polyspace в Дженкинсе непосредственно поддерживает этот рабочий процесс. См. Демонстрационные Скрипты для Анализа Polyspace с Дженкинсом.
При получении электронного письма владелец открывает файл дополнительного текста, копирует URL каждого результата к их веб-браузеру и рассматривает результат.
Рецензенты открывают билеты от инструментов отслеживания ошибок
Рецензент, такой как инженер по качеству, рассматривает все новые результаты и создает тикеты JIRA для разработчиков. Смотрите Проблему Дорожки в Инструменте Отслеживания ошибок (Polyspace Code Prover Access).
Разработчики открывают каждый билет JIRA и перешли к соответствующему результату Polyspace в интерфейсе Polyspace Access.