polyspace-results-export

(DOS/UNIX) Экспорт результатов Polyspace во внешние форматы, такие как CSV или JSON

Описание

пример

polyspace-results-export -format exportFormat -results-dir resultsFolder [OPTIONS] экспортирует Polyspace® результаты анализа, хранящиеся локально в resultsFolder во внешний формат exportFormat.

пример

polyspace-results-export -format exportFormat -host hostName -run-id runID [OPTIONS] [ACCESS_OPTIONS] экспортирует результаты анализа Polyspace, хранящиеся в Polyspace Access, во внешний формат exportFormat. Укажите образец Доступ при помощи hostName и проект по Доступ при помощи runID.

Примеры

свернуть все

Экспорт результатов из myProject проекта в пользовательском интерфейсе Polyspace в формате JSON.

Предположим, ваш проект хранится в C:\Polyspace_Workspace. Чтобы экспортировать результаты из определенного модуля в проекте, укажите путь к папке, которая непосредственно содержит результаты из модуля.

polyspace-results-export -format json-sarif ^
-results-dir C:\Polyspace_Workspace\myProject\Module_1\BF_Result
-output-name C:\Polyspace_Workspace\reports\myProject\myProject.json

Примечание

Чтобы сгенерировать отчеты о результатах на Polyspace Access в командной строке, необходимо установить Polyspace Bug Finder™ Server™ или Polyspace Code Prover™ Server.

Предположим, что вы хотите экспортировать результаты проекта в формате Polyspace Access в JSON.

Чтобы подключиться к Polyspace Access, укажите имя хоста и свои учетные данные для входа, включая ваш зашифрованный пароль. Чтобы зашифровать пароль, используйте polyspace-access и введите свое имя пользователя и пароль в приглашении.

polyspace-access -encrypt-password 
login: jsmith
password:
CRYPTED_PASSWORD LAMMMEACDMKEFELKMNDCONEAPECEEKPL
Command Completed

Сохраните логин и зашифрованный пароль в файле учетных данных и ограничьте разрешение на чтение и запись в этот файл. Откройте текстовый редактор, скопируйте эти две линии в редактор, а затем сохраните файл как myCredentials.txt для примера.

 -login jsmith
 -encrypted-password LAMMMEACDMKEFELKMNDCONEAPECEEKPL
Чтобы ограничить права доступа к файлам, щелкните правой кнопкой мыши файл и выберите вкладку Permissions в Linux® или вкладку Security в Windows®.

Чтобы задать результаты проекта в Polyspace Access, укажите идентификатор запуска проекта. Чтобы получить список проектов с их последними идентификаторами запуска, используйте polyspace-access с опцией -list-project.

polyspace-access -host myAccessServer -credentials-file myCredentials.txt -list-project
Connecting to https://myAccessServer:9443
Connecting as jsmith
Get project list with the last Run Id
Restricted/Code_Prover_Example (Code Prover) RUN_ID 14
public/Bug_Finder_Example (Bug Finder) RUN_ID 24
public/CP/Code_Prover_Example (Polyspace Code Prover) RUN_ID 16
public/Polyspace (Code Prover) RUN_ID 28
Command Completed
Для получения дополнительной информации об этой команде см. polyspace-access (Polyspace Bug Finder Server).

Если Polyspace Access использует протокол HTTPS, используйте polyspace-report-generator двоичный, чтобы сконфигурировать polyspace-results-export для активации связи с Polyspace Access по HTTPS. См. «Настройка генератора отчетов с клиентским Keystore».

Экспорт результатов проекта с идентификатором выполнения 16 в формат JSON.

polyspace-results-export -credentials-file myCredentials.txt
-format json-sarif^
-host myAccessServer ^
-run-id 16

Входные параметры

свернуть все

Формат, в котором экспортируются результаты Polyspace: csv для выхода CSV или json-sarif для выхода JSON. Если вы используете polyspace-bug-finder-access команда для анализа в одном файле (Polyspace as You Code), можно также экспортировать результаты на консоль, используя формат console.

Каждый результат состоит из такой информации, как имя результата, семейство и так далее. Форматы CSV и JSON приводят к тому, что экспортируется почти одно и то же содержимое, но экспортированное содержимое может ссылаться на один и тот же тип информации под разными именами.

  • В формате CSV каждый результат состоит из разделенной табуляцией информации в таких столбцах, как ID, Family, Group, Color, Checkи так далее.

    Чтобы упаковать и потенциально фильтровать данные результата, используйте формат CSV. Например, можно импортировать файл CSV в корпорацию Майкрософт® Excel® и используйте фильтры Excel для результатов.

  • В формате JSON каждый результат состоит почти из той же информации, что и свойства объекта JSON. В свойствах, показанных для результата, иногда используется имя, отличное от имени, используемого в формате CSV. Например, чтобы получить полное имя средства проверки правил для результата, используйте ruleId свойство результата в комбинации со id и name свойство правила. Причина различия заключается в том, что формат JSON соответствует стандартному обозначению, предоставленному Статический Анализ Results Interchange Format (SARIF).

    Формат JSON содержит некоторые дополнительные сведения, такие как краткое имя чекера и полное сообщение, которое сопровождает результат. Используйте формат JSON, если хотите использовать это краткое имя или сообщение. Можно также использовать этот формат для более стандартизированной отчетности о результатах. Например, если вы используете несколько инструментов статического анализа и хотите сообщить об их результатах в одном интерфейсе с помощью одного алгоритма анализа, можно экспортировать все результаты в стандартный формат SARIF JSON.

Выходы консоли предварительно форматированы в форме, аналогичной ошибкам компилятора и предупреждениям, и содержат меньше информации, чем другие форматы. В частности, если вы основываете результаты Polyspace по мере того, как Вы Кодируете с помощью результатов интегрирования в веб-интерфейсе Polyspace Access, используйте формат JSON или CSV для получения максимальных преимуществ от baselining. Смотрите Baseline Polyspace как результаты кода в командной строке (Polyspace Bug Finder Access).

Путь к папке, содержащей результаты анализа Polyspace (.psbf или .pscp файл). Если путь к папке не задан, команда генерирует отчет для результатов анализа в текущей папке.

Пример: C:\Polyspace_Workspace\My_project\Module_1\results

hostName соответствует имени хоста, заданному в URL-адресе интерфейса Polyspace Access, например https :// hostName: port/ metrics/index.html. Если вы не уверены, какое имя хоста использовать, обратитесь к администратору Polyspace Access. Имя хоста по умолчанию localhost. Необходимо задать имя хоста, чтобы сгенерировать отчет для результатов в базе данных Polyspace Access.

Пример: my-company-server

Запустите идентификатор результатов проекта, которые вы экспортируете. Уникальный идентификатор запуска присваивается каждому запуску анализа, который вы загружаете в Polyspace Access.

Идентификатор запуска проекта можно увидеть в веб-интерфейсе Polyspace Access. Чтобы получить идентификатор запуска проекта в командной строке, используйте команду polyspace-access (Polyspace Bug Finder Server) с опцией -list-project.

ОпцияОписание
-output-name outputName

Имя экспортированного файла. Имя по умолчанию results_list.txt (CSV) или results_list.json (JSON).

Файл сохранен на пути, из которого вы вызываете команду. Чтобы сохранить файл в другой папке, укажите полный путь к папке, например -output-name C:\PathTo\OtherFolder.

-set-language-englishИспользуйте эту опцию, если для вашего языка отображения задан язык, отличный от английского, но требуется экспортировать результаты в английском языке.

Чтобы увидеть опции, доступные с помощью этой команды, введите polyspace-results-export -h.

ОпцияОписание

-портовый portNumber

portNumber соответствует номеру порта, который вы задаете в URL интерфейса Polyspace Access, например https :// hostname: portNumber/ metrics/index.html. Если вы не уверены, какой номер порта использовать, обратитесь к администратору Polyspace Access. Номер порта по умолчанию 9443.

-протоколь http | https

Протокол HTTP для подключения к Polyspace Access. Значение по умолчанию https.
-credentials-file file_path

Полный путь к текстовому файлу, в котором вы храните свои учетные данные для входа в систему. Используйте эту опцию, если, например, вы используете команду, которая требует ваших учетных данных Доступ в скрипте, но вы не хотите хранить свои учетные данные в этом скрипте. Во время выполнения скрипта кто-то, проверяющий текущие процессы, не может увидеть ваши учетные данные.

В файле можно хранить только один набор учетных данных, как -login и -encrypted-password записи на отдельных линиях, для образца:

-login jsmith
-encrypted-password LAMMMEACDMKEFELKMNDCONEAPECEEKPL
или как -api-key запись:
-api-key keyValue123
Убедитесь, что вы ограничиваете права на чтение и запись в файл, в котором хранятся ваши учетные данные. Например, чтобы ограничить разрешения на чтение и запись в файл login.txt в Linux используйте следующую команду:
chmod go-rwx login.txt

-api-key keyValue

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

Используйте ключ API, если, например, вы используете команду, которая требует ваших учетных данных Polyspace Access в качестве части скрипта автоматизации с помощью инструмента CI, такого как Jenkins. Если пользователь обновляет свой пароль, вы не должны обновлять ключ API, сопоставленный с этим пользователем в ваших скриптах.

Рекомендуется, чтобы вы хранили ключ API в файле и передали этот файл в команду при помощи -credentials-file.

-логин username

-encryted-password ENCRYPTED_PASSWD

Учетные данные, используемые для входа в Polyspace Access. Аргумент -encrypted-password - выход polyspace-access -encrypt-password команда.

Для получения дополнительной информации о команде см. polyspace-access (Polyspace Bug Finder Server).

Введенный в R2020b