exponenta event banner

polyspace-результаты-экспорт

(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. Укажите экземпляр Polyspace Access с помощью hostName и проект по Polyspace Access с использованием 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
Чтобы ограничить разрешения для файлов, щелкните файл правой кнопкой мыши и выберите вкладку Разрешения в Linux ® или вкладку Безопасность в 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).

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

Экспорт результатов из проекта с идентификатором выполнения 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-файл в Microsoft ® Excel ® и использовать фильтры Excel для результатов.

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

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

Выходные данные консоли предварительно отформатированы в форме, аналогичной ошибкам и предупреждениям компилятора, и содержат меньше информации, чем другие форматы. В частности, если в веб-интерфейсе Polyspace Access используются базовые результаты Polyspace в виде кода, используйте формат JSON или CSV для получения максимальных преимуществ от базовой линии. См. раздел Базовое полипространство при кодировании результатов в командной строке (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) с опцией -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.

ВыборОписание

-port portNumber

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

-protocol http | https

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

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

В файле можно сохранить только один набор учетных данных: -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, такого как Дженкинс. Если пользователь обновляет свой пароль, нет необходимости обновлять ключ API, связанный с этим пользователем в сценариях.

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

-login username

-encryted-password ENCRYPTED_PASSWD

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

Дополнительные сведения о команде см. в разделе polyspace-access(Сервер проверки кода Polyspace).

Представлен в R2020b