Polyspace® Bug Finder™ Server™ проверяет код C/C++ на дефекты и кодирование стандартных нарушений, и затем загружает результаты на веб-интерфейс для рассмотрения кода.
Можно запустить Bug Finder как часть непрерывного интегрирования. Настройте скрипты, которые запускают анализ Bug Finder равномерно или на основе новых представлений кода. Скрипты могут загрузить результаты анализа для анализа в Polyspace доступ к веб-интерфейсу и опционально послать электронные письма владельцам исходных файлов с результатами Polyspace. Владельцы могут открыть веб-интерфейс, чтобы рассмотреть только новые результаты от их представления, и затем зафиксировать или выровнять по ширине проблемы.
В типичном проекте или команде, Polyspace Bug Finder Server периодически запускается на нескольких серверах тестирования и загружает результаты для анализа. У каждого разработчика и инженера по качеству в команде есть лицензия Polyspace Bug Finder Access™, чтобы просмотреть результаты в веб-интерфейсе для расследования и устранения ошибки.
Чтобы запустить анализ Bug Finder сервера и рассмотреть результаты в Polyspace доступ к веб-интерфейсу, выполните эту одноразовую настройку:
Чтобы запустить анализ, установите один экземпляр продукта Polyspace Bug Finder Server.
Чтобы загрузить результаты, настройте компоненты, требуемые размещать веб-интерфейс Polyspace доступ.
Чтобы просмотреть загруженные результаты, у вас и каждого разработчика, рассматривающего результаты, должна быть лицензия Polyspace Bug Finder Access.
Чтобы проверять, установлен ли Polyspace Bug Finder Server:
Откройте командное окно. Перейдите к
. Здесь, polyspaceserverroot
\polyspace\bin
папка установки Polyspace Bug Finder Server, например, polyspaceserverroot
C:\Program Files\Polyspace Server\R2021b
. См. также Папку Установки.
Войдите:
polyspace-bug-finder-server -help |
Необходимо видеть, что список опций допускал анализ Bug Finder.
Чтобы проверять, настраивается ли Polyspace доступ к веб-интерфейсу для загрузки:
Перейдите снова к
.polyspaceserverroot
\polyspace\bin
Войдите:
polyspace-access -host hostName -port portNumber -create-project testProject |
Здесь,
имя сервера, размещающего веб-сервер Polyspace Bug Finder Access. Для локально размещенного сервера используйте hostName
localhost
.
дополнительный номер порта сервера. Если вы не используете номер порта, portNumber
9443
используется.
Если настройка была завершена, проект под названием testProject
создается в Polyspace доступ к веб-интерфейсу.
Вам предлагают ваш вход в систему и пароль каждый раз, когда вы используете polyspace-access
команда. Чтобы постараться не вводить информацию о входе в систему каждый раз, обеспечьте вход в систему и зашифрованную версию вашего пароля с командой. Создать зашифрованный пароль, введите:
polyspace-access -encrypt-password |
Введите свой вход в систему и пароль. Скопируйте зашифрованный пароль и предоставьте этому зашифрованному паролю -encrypted-password
опция при использовании polyspace-access
команда.
В веб-браузере откройте этот URL:
https://hostName:portNumber/metrics/index.html
hostName
и portNumber
имя хоста и номер порта от предыдущего шага. В панели Project Explorer на Polyspace доступ к веб-интерфейсу вы видите недавно созданный проект testProject
.
Чтобы запустить Bug Finder, в вашей операционной системе, открывают командное окно.
Чтобы запустить анализ Bug Finder, используйте polyspace-bug-finder-server
команда.
Чтобы загрузить результаты на Polyspace доступ к веб-интерфейсу, используйте polyspace-access
команда.
Чтобы постараться не вводить полный путь к команде, добавьте путь
к polyspaceserverroot
\polyspace\binPath
переменная окружения на вашей операционной системе.
Испытайте команды на файлах примера, которым предоставляют вашу установку Polyspace.
Скопируйте демонстрационные исходные файлы с
к другой папке, где у вас есть полномочия записи. Перейдите к этой папке в командной строке. polyspaceserverroot
\polyspace\examples\cxx\Bug_Finder_Example\sources
Войдите:
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -create-project testProject polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -upload . -project myFirstProject -parent-project testProject |
Здесь,
ваше имя для входа в систему и username
зашифрованный пароль, который вы создали ранее. Смотрите Установку Polyspace Проверки.pwd
Обновите Polyspace доступ к веб-интерфейсу. Вы видите папку testProject
на панели Project Explorer. Папка содержит один проект myFirstProject
.
Чтобы видеть результаты в проекте, нажмите Review. Для получения дополнительной информации смотрите, Рассматривают Результаты Polyspace Bug Finder в веб-браузере. Можно также получить доступ к документации с помощью кнопки в верхнем правом углу интерфейса Polyspace Access.
Опции анализа используются с polyspace-bug-finder-server
команда:
-sources
: Задайте разделенные от запятой исходные файлы.
-I
: Задайте путь, чтобы включать папку. Используйте -I
отметьте каждый раз, когда вы хотите добавить, что отдельное включает папку.
Find defects (-checkers)
: Задайте дефекты (ошибки), чтобы проверять на.
-results-dir
: Задайте путь к папке, где результаты Polyspace Bug Finder будут сохранены.
Обратите внимание на то, что папка результатов очищена и повторно заполнена при каждом запуске. Чтобы избежать случайного удаления файлов во время очистки, вместо того, чтобы использовать существующую папку, которая содержит другие файлы, задают специализированную папку для результатов Polyspace.
Для полного списка опций, доступных для анализа Bug Finder, см. Полный список Аналитических Опций Engine Polyspace Bug Finder. Открыть документацию Bug Finder в браузере документации, введите:
polyspace-bug-finder-server -doc
Чтобы запустить анализ, вместо того, чтобы ввести команды в командной строке, можно использовать скрипты. Скрипты могут выполниться каждый раз, когда вы добавляете или изменяете исходные файлы.
Демонстрационный Windows® пакетный файл показывают ниже. Здесь, путь к установке Polyspace задан в скрипте. Чтобы использовать этот скрипт, замените polyspaceserverroot
с путем к вашей установке. Вы, должно быть, уже сгенерировали зашифрованный пароль для использования в скриптах. Смотрите Установку Polyspace Проверки.
echo off set POLYSPACE_PATH=polyspaceserverroot\polyspace\bin set LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd "%POLYSPACE_PATH%\polyspace-bug-finder-server" -sources numerical.c,dataflow.c -I .^ -checkers numerical,data_flow -results-dir . "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -create-project testProject "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -upload . -project myFirstProject -parent-project testProject pause |
Демонстрационный Linux® сценарий оболочки показывают ниже.
POLYSPACE_PATH=polyspaceserverroot/polyspace/bin LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd ${POLYSPACE_PATH}/polyspace-bug-finder-server -sources numerical.c,dataflow.c -I .\ -checkers numberical,data_flow -results-dir . ${POLYSPACE_PATH}/polyspace-access $LOGIN -create-project testProject ${POLYSPACE_PATH}/polyspace-access $LOGIN -upload . -project myFirstProject -parent-project testProject |
Вместо того, чтобы перечислить исходные файлы и опции анализа в рамках запускающихся скриптов, можно перечислить их в отдельных текстовых файлах.
Задайте текстовый файл, перечисляющий источники при помощи опции -sources-list-file
.
Задайте текстовый файл, перечисляющий опции анализа при помощи опции -options-file
.
Путем удаления исходных файлов и технических требований опции анализа из запускающихся скриптов, можно изменить эти технические требования как требуется с новыми представлениями кода при оставлении запускающегося скрипта нетронутым.
Рассмотрите скрипт в предыдущем примере. Можно изменить polyspace-bug-finder-server
команда, чтобы использовать текстовые файлы с источниками и опции. Вместо:
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . |
использование:
polyspace-bug-finder-server -sources-list-file sources.txt -options-file polyspace_opts.txt -results-dir . |
Здесь:
sources.txt
перечисляет исходные файлы в отдельных линиях:
numerical.c dataflow.c
polyspace_opts.txt
перечисляет опции анализа в отдельных линиях:
-I . -checkers numerical,data_flow
Как правило, ваши исходные файлы заданы в команде сборки (make-файл). Вместо того, чтобы задать исходные файлы непосредственно, можно проследить команду сборки, чтобы создать список исходных технических требований. Смотрите polyspace-configure
.
В типичном непрерывном рабочем процессе интегрирования вы запускаете скрипт, который выполняет эти шаги:
Извлеките опции Polyspace из своей команды сборки.
Например, если вы используете make-файлы, чтобы создать ваш исходный код, можно извлечь опции анализа из make-файла.
polyspace-configure -output-options-file compile_opts make |
Смотрите также:
Запустите анализ с ранее созданным файлом опций. Добавьте второй файл опций, который содержит остающиеся опции, требуемые для анализа.
polyspace-bug-finder-server -options-file compile_opts -options-file run_opts |
Смотрите файлы опций для анализа Polyspace.
Загрузите результаты на Polyspace Bug Finder Access.
polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName |
Здесь,
комбинация опций, требуемых связываться с веб-сервером, который размещает Polyspace Bug Finder Access:login
-host hostName -port portNumber -login username -encrypted-password pwd |
папка, содержащая результаты Polyspace. resultsFolder
и projName
имена проекта и порождают папку, когда они появились бы в Polyspace доступ к веб-интерфейсу.parentProjName
Опционально, отправьте уведомления по электронной почте разработчикам с новыми результатами их представления кода. Электронная почта содержит прикрепления со ссылками на результаты в Polyspace доступ к веб-интерфейсу.
Смотрите отправляют уведомления по электронной почте результатами Polyspace Bug Finder Server.
Смотрите примеры скриптов, выполняющих эти шаги в Демонстрационных Скриптах для Анализа Polyspace с Дженкинсом.
polyspace-access
| polyspace-bug-finder-server