Ejecutar PolyspaceBug Finder en un servidor y cargar los resultados en la interfaz web
Polyspace® Bug Finder™ Server™ comprueba código C/C++ en busca de defectos e infracciones de los estándares de codificación y, después, carga los resultados en una interfaz web para revisar el código.
Puede ejecutar Bug Finder como parte de la integración continua. Configure scripts que ejecuten un análisis de Bug Finder a intervalos regulares o en función de los nuevos envíos de código. Los scripts pueden cargar los resultados para revisarlos en la interfaz web de Polyspace Access y, opcionalmente, enviar correos electrónicos a los propietarios de los archivos fuente con los hallazgos de Polyspace. Los propietarios pueden abrir la interfaz web para revisar solo los hallazgos nuevos de su envío y, después, corregir o justificar los problemas.
En un proyecto o equipo típico, Polyspace Bug Finder Server se ejecuta de forma periódica en algunos servidores de prueba y carga los resultados para revisarlos. Cada desarrollador e ingeniero de calidad del equipo tiene una licencia de Polyspace Access™ para ver los resultados en la interfaz web para investigar y corregir fallos.
Requisitos previos
Para ejecutar un análisis de Bug Finder en un servidor y revisar los resultados en la interfaz web de Polyspace Access, realice esta configuración única inicial:
Para ejecutar el análisis, instale una instancia del producto Polyspace Bug Finder Server.
Para cargar los resultados, configure los componentes necesarios para hospedar la interfaz web de Polyspace Access.
Para ver los resultados cargados, usted y cada desarrollador que revise los resultados deben tener una licencia de PolyspaceAccess.
Comprobar la instalación de Polyspace
Para comprobar si PolyspaceBug FinderServer está instalado:
Abra una ventana de comandos. Vaya a
. En este caso,polyspaceserverroot
\polyspace\bin
es la carpeta de instalación de PolyspaceBug FinderServer; por ejemplo,polyspaceserverroot
C:\Program Files\Polyspace Server\R2025a
. Consulte también Installation Folder.Introduzca:
polyspace-bug-finder-server -help
Debería ver la lista de opciones permitidas para un análisis de Bug Finder.
Para comprobar si la interfaz web de Polyspace Access está configurada para que se pueda cargar:
Vuelva a
.polyspaceserverroot
\polyspace\binIntroduzca:
polyspace-access -host hostName -port portNumber -create-project testProject
En este caso,
es el nombre del servidor que hospeda el servidor web de Polyspace Access. Para un servidor hospedado localmente, usehostName
localhost
.
es el número de puerto opcional del servidor. Si se omite el número de puerto, se utilizaportNumber
9443
.Si la configuración se ha completado, se crea un proyecto llamado
testProject
en la interfaz web de Polyspace Access.Se solicitará el nombre de usuario y contraseña cada vez que utilice el comando
polyspace-access
. Para evitar introducir información de inicio de sesión cada vez, proporcione el nombre de usuario y una versión cifrada de la contraseña con el comando. Para crear una contraseña cifrada, introduzca:polyspace-access -encrypt-password
Introduzca el nombre de usuario y contraseña. Copie la contraseña cifrada y proporcione esta contraseña cifrada con la opción
-encrypted-password
cuando utilice el comandopolyspace-access
.En un navegador web, abra esta URL:
En este caso,https://hostName:portNumber/metrics/index.html
yhostName
son el nombre de host y el número de puerto del paso anterior.portNumber
En el panel Project Explorer, en la interfaz web de Polyspace Access, verá el proyecto recién creado testProject
.
Ejecutar Bug Finder en archivos de muestra
Para ejecutar Bug Finder, abra una ventana de comandos en el sistema operativo.
Para ejecutar un análisis de Bug Finder, utilice el comando
polyspace-bug-finder-server
.Para cargar los resultados a la interfaz web de Polyspace Access, use el comando
polyspace-access -upload
(Polyspace Access).
Para evitar tener que escribir la ruta completa al comando, añada la ruta
a la variable de entorno polyspaceserverroot
\polyspace\binPath
en el sistema operativo.
Pruebe los comandos en los archivos de muestra proporcionados con la instalación de Polyspace.
Copie los archivos fuente de muestra de
a otra carpeta en la que tenga permisos de escritura. Desplácese a esta carpeta en la línea de comandos.polyspaceserverroot
\polyspace\examples\cxx\Bug_Finder_Example\sourcesIntroduzca:
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
En este caso,
es el nombre de usuario yusername
es la contraseña cifrada que creó anteriormente. Consulte Comprobar la instalación de Polyspace.pwd
Actualice la interfaz web de Polyspace Access. Puede ver una carpeta testProject
en el panel Project Explorer. La carpeta contiene un proyecto myFirstProject
.
Para ver los resultados en el proyecto, haga clic en Review. Para obtener más información, consulte Revisar resultados de Polyspace Bug Finder en un navegador web. También puede acceder a la documentación mediante el botón en la parte superior derecha de la interfaz de Polyspace Access.
Las opciones de análisis utilizadas con el comando polyspace-bug-finder-server
son:
-sources
: especifica archivos fuente separados por comas.-I
: especifica la ruta a la carpeta de inclusión. Utilice el indicador-I
cada vez que desee añadir una carpeta de inclusión independiente.Encontrar defectos (-checkers)
: especifica los defectos (bugs) que se deben comprobar.-results-dir
: especifica la ruta a la carpeta donde se guardarán los resultados de Polyspace Bug Finder.Tenga en cuenta que la carpeta de resultados se elimina y se vuelve a rellenar en cada ejecución. Para evitar eliminar accidentalmente los archivos durante la limpieza en lugar de utilizar una carpeta existente que contenga otros archivos, especifique una carpeta dedicada para los resultados de Polyspace.
Para ver la lista completa de opciones disponibles para un análisis de Bug Finder, consulte Lista completa de opciones del motor de análisis de PolyspaceBug Finder. Para abrir la documentación de Bug Finder en el navegador web del sistema, introduzca:
polyspace-bug-finder-server -doc
Scripts de muestra para el análisis de Bug Finder en servidores
Para ejecutar el análisis, en lugar de escribir los comandos en la línea de comandos, puede utilizar scripts. Los scripts se pueden ejecutar cada vez que añada o modifique archivos fuente.
A continuación, se ve un archivo por lotes de muestra de Windows®. En este caso, la ruta a la instalación de Polyspace está especificada en el script. Para utilizar este script, reemplace polyspaceserverroot
con la ruta de la instalación. Ya debe haber generado la contraseña cifrada para utilizarla en los scripts. Consulte Comprobar la instalación de 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 |
A continuación, se ve un script shell de muestra de 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 |
Especificar fuentes y opciones en archivos independientes desde scripts de inicio
En lugar de enumerar los archivos fuente y las opciones de análisis dentro de los scripts de inicio, puede enumerarlos en archivos de texto independientes.
Especifique el archivo de texto que enumera las fuentes utilizando la opción
-sources-list-file
.Especifique el archivo de texto que enumera las opciones de análisis utilizando la opción
-sources-list-file
.
Eliminando de los scripts de inicio los archivos fuente y las especificaciones de las opciones de análisis, puede modificar estas especificaciones según sea necesario con nuevos envíos de código sin modificar el script de inicio.
Considere el script del ejemplo anterior. Puede modificar el comando polyspace-bug-finder-server
para usar archivos de texto con fuentes y opciones. En lugar de:
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . |
utilice:
polyspace-bug-finder-server -sources-list-file sources.txt -options-file polyspace_opts.txt -results-dir . |
En este caso:
sources.txt
enumera los archivos fuente en líneas independientes:numerical.c dataflow.c
polyspace_opts.txt
enumera las opciones de análisis en líneas independientes:-I . -checkers numerical,data_flow
Normalmente, los archivos fuente se especifican en un comando de compilación (makefile). En lugar de especificar los archivos fuente directamente, puede rastrear el comando de compilación para crear una lista de especificaciones fuente. Consulte polyspace-configure
.
Flujo de trabajo completo
En un flujo de trabajo típico de integración continua, puede ejecutar un script que sigue los siguientes pasos:
Extraiga las opciones de Polyspace desde el comando de compilación.
Por ejemplo, si utiliza archivos makefile para compilar el código fuente, puede extraer las opciones de análisis del archivo makefile. El siguiente comando ejecuta primero
make
y, después, determina las opciones de análisis a partir de los procesos ejecutados.polyspace-configure -output-options-file compile_opts make
Consulte también:
Ejecute el análisis con el archivo de opciones creado anteriormente. Añada un segundo archivo de opciones que contenga las opciones restantes necesarias para el análisis.
polyspace-bug-finder-server -options-file compile_opts -options-file run_opts
Consulte Options Files for Polyspace Analysis.
Cargue los resultados a PolyspaceAccess.
polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName
En este caso,
es la combinación de opciones necesarias para comunicarse con el servidor web que hospeda PolyspaceAccess:login
-host hostName -port portNumber -login username -encrypted-password pwd
es la carpeta que contiene los resultados de Polyspace.resultsFolder
yprojName
son los nombres del proyecto y la carpeta principal tal y como aparecerían en la interfaz web de Polyspace Access.parentProjName
De manera opcional, envíe notificaciones por correo electrónico al personal de desarrollo de software con los nuevos resultados del envío del código. El correo electrónico contiene adjuntos con enlaces a los resultados en la interfaz web de Polyspace Access.
Consulte Enviar notificaciones por correo electrónico con los resultados de Polyspace Bug Finder Server.
Vea ejemplos de scripts siguiendo estos pasos en Sample Scripts for Polyspace Analysis with Jenkins.
Consulte también
polyspace-access
-create-project
(Polyspace Access) | polyspace-access
-upload
(Polyspace Access) | polyspace-bug-finder-server
Temas
- Manage Polyspace Access Results and Users at the Command Line (Polyspace Access)
- Enviar notificaciones por correo electrónico con los resultados de Polyspace Bug Finder Server
- Enviar análisis de Bug Finder desde el escritorio a un servidor hospedado localmente
- Lista completa de opciones del motor de análisis de PolyspaceBug Finder