Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

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.

Consulte Install Polyspace Server and Access Products.

Comprobar la instalación de Polyspace

Para comprobar si PolyspaceBug FinderServer está instalado:

  1. Abra una ventana de comandos. Vaya a polyspaceserverroot\polyspace\bin. En este caso, polyspaceserverroot es la carpeta de instalación de PolyspaceBug FinderServer; por ejemplo, C:\Program Files\Polyspace Server\R2025a. Consulte también Installation Folder.

  2. 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:

  1. Vuelva a polyspaceserverroot\polyspace\bin.

  2. Introduzca:

    polyspace-access -host hostName -port portNumber -create-project testProject

    En este caso, hostName es el nombre del servidor que hospeda el servidor web de Polyspace Access. Para un servidor hospedado localmente, use localhost. portNumber es el número de puerto opcional del servidor. Si se omite el número de puerto, se utiliza 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 comando polyspace-access.

  3. En un navegador web, abra esta URL:

    https://hostName:portNumber/metrics/index.html
    En este caso, hostName y portNumber son el nombre de host y el número de puerto del paso anterior.

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.

  1. Para ejecutar un análisis de Bug Finder, utilice el comando polyspace-bug-finder-server.

  2. 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 polyspaceserverroot\polyspace\bin a la variable de entorno Path en el sistema operativo.

Pruebe los comandos en los archivos de muestra proporcionados con la instalación de Polyspace.

  1. Copie los archivos fuente de muestra de polyspaceserverroot\polyspace\examples\cxx\Bug_Finder_Example\sources a otra carpeta en la que tenga permisos de escritura. Desplácese a esta carpeta en la línea de comandos.

  2. Introduzca:

    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, username es el nombre de usuario y pwd es la contraseña cifrada que creó anteriormente. Consulte Comprobar la instalación de Polyspace.

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:

  1. 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:

  2. 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.

  3. Cargue los resultados a PolyspaceAccess.

    polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName

    En este caso, login es la combinación de opciones necesarias para comunicarse con el servidor web que hospeda PolyspaceAccess:

    -host hostName -port portNumber -login username -encrypted-password pwd

    resultsFolder es la carpeta que contiene los resultados de Polyspace. projName y parentProjName son los nombres del proyecto y la carpeta principal tal y como aparecerían en la interfaz web de Polyspace Access.

  4. 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) | (Polyspace Access) |

Temas