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 Polyspace Bug Finder en el escritorio

Polyspace® Bug Finder™ identifica errores en tiempo de ejecución, problemas de simultaneidad, vulnerabilidades de seguridad y otros defectos en software integrado C y C++. Mediante el análisis estático, incluido el análisis semántico, Bug Finder analiza las estructuras de control, el flujo de datos y el comportamiento interprocedimental. Bug Finder permite clasificar y corregir fallos en una etapa temprana del proceso de desarrollo, ya que resalta los defectos en cuanto se detectan.

Puede ejecutar Bug Finder en proyectos de C/C++ completos desde la interfaz de usuario de Polyspace o utilizando scripts. Consulte:

  • Ejecutar Polyspace en la interfaz de usuario

    Si es la primera vez que utiliza Polyspace, debería comenzar desde la interfaz de usuario de Polyspace. Puede obtener ayuda mediante funcionalidades como un asistente de configuración de proyectos, configuración asistida y un registro de análisis resumido.

  • Ejecutar Polyspace en la línea de comandos de Windows o Linux

    Una vez que configure un proyecto en la interfaz de usuario de Polyspace y complete varias pruebas, podrá exportar la configuración a scripts que se ejecutan automáticamente o bajo demanda. También puede ejecutar un análisis de Polyspace directamente desde la línea de comandos del sistema operativo. Luego, puede guardar los comandos en archivos por lotes (Windows®) o scripts shell (Linux®) para ejecuciones posteriores. Si ejecuta productos de Polyspace Server utilizando herramientas de integración continua, como Jenkins®, puede reutilizar los scripts de los productos de escritorio de Polyspace.

  • Ejecutar Polyspace en MATLAB

    Si tiene una instalación de MATLAB®, es muy sencillo escribir scripts para ejecutar un análisis de Polyspace. Obtendrá todas las ventajas de crear scripts en el entorno de MATLAB, como ayuda automática con la sintaxis de funciones. Después del análisis, puede crear su propia visualización de los resultados utilizando gráficas y herramientas de visualización de MATLAB.

Archivos de ejemplo

Para seguir los pasos de este tutorial, copie los archivos de polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources en otra carpeta. En este caso, polyspaceroot es la carpeta de instalación de Polyspace; por ejemplo, C:\Program Files\Polyspace\R2025a.

Ejecutar Polyspace en la interfaz de usuario

Abrir la interfaz de usuario de Polyspace

Haga doble clic en el ejecutable polyspace de polyspaceroot\polyspace\bin. En este caso, polyspaceroot es la carpeta de instalación de Polyspace; por ejemplo, C:\Program Files\Polyspace\R2025a. Consulte también Installation Folder.

Si ha configurado un acceso directo a Polyspace en el escritorio o en el menú Start de Windows, haga doble clic en el acceso directo.

Añadir archivos fuente

Para ejecutar un análisis, es necesario crear un proyecto de Polyspace nuevo. Un proyecto de Polyspace dirige a las carpetas fuente y de inclusión en el sistema de archivos.

En la parte izquierda del panel Start Page, haga clic en Start a new project. Alternativamente, seleccione File > New Project.

Después de indicar un nombre de proyecto, en las siguientes pantallas, añada las carpetas fuente y de inclusión (ambas carpetas pueden ser la misma). En este tutorial, añada la ruta a la carpeta en la que ha guardado los archivos fuente y de inclusión.

Después de terminar de añadir las carpetas fuente y de inclusión, verá un proyecto nuevo en el panel Project Browser. Las carpetas fuente se copian al primer módulo del proyecto. Puede hacer clic con el botón secundario en un proyecto para añadir más carpetas más adelante. Si añade carpetas más adelante, deberá copiarlas explícitamente en un módulo.

Configurar y ejecutar Polyspace

Puede cambiar las opciones predeterminadas asociadas a un análisis de Polyspace.

Haga clic en el nodo Configuration del módulo de proyecto. En el panel Configuration, cambie las opciones según sea necesario. Por ejemplo, en el nodo Coding Rules & Code Metrics, seleccione Check MISRA C:2004.

Para obtener más información, consulte el recuadro de cada opción. Haga clic en el enlace More help para obtener ayuda sensible al contexto sobre las opciones.

Para iniciar el análisis, haga clic en Run Bug Finder en la barra de herramientas superior. Si en el botón aparece Code Prover, haga clic en la flecha que aparece junto al botón para cambiar a Bug Finder.

Siga el progreso del análisis en la ventana Output Summary. Después del análisis, los resultados se abren automáticamente.

Información adicional

Consulte:

Ejecutar Polyspace en la línea de comandos de Windows o Linux

Puede ejecutar Bug Finder desde la línea de comandos de Windows o Linux con archivos por lotes (.bat) o scripts shell (.sh).

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

Para evitar tener que escribir la ruta completa al comando, añada la ruta polyspaceroot\polyspace\bin a la variable de entorno Path en el sistema operativo. En este caso, polyspaceroot es la carpeta de instalación de Polyspace; por ejemplo, C:\Program Files\Polyspace\R2025a.

Vaya a la carpeta donde guardó los archivos (utilizando cd). Introduzca lo siguiente:

polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
En este caso, . indica la carpeta actual. Las opciones utilizadas 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.

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

Después del análisis, los resultados se guardan en el archivo ps_results.psbf. Puede abrir este archivo desde la interfaz de usuario de Polyspace. Por ejemplo, introduzca lo siguiente:

polyspace ps_results.psbf

En lugar de especificar fuentes separadas por comas directamente en la línea de comandos, puede enumerar las fuentes en un archivo de texto (un archivo por línea). Utilice la opción -sources-list-file para especificar este archivo de texto.

Información adicional

Consulte:

Ejecutar Polyspace en MATLAB

Antes de ejecutar Polyspace desde MATLAB, debe vincular las instalaciones de Polyspace y MATLAB. Consulte Integrate Polyspace with MATLAB and Simulink.

Para ejecutar un análisis, utilice un objeto polyspace.Project. El objeto tiene dos propiedades:

  • Configuration: especifique las opciones de análisis, como carpetas fuente, de inclusión, de compilador y de resultados utilizando esta propiedad.

  • Results: después del análisis, lea los resultados del análisis en una tabla de MATLAB utilizando esta propiedad.

Para ejecutar el análisis, utilice el método run de este objeto.

Para ejecutar Polyspace en el archivo de ejemplo numerical.c de polyspaceroot\polyspace\examples\cxx\Bug_Finder_Examples\sources, introduzca lo siguiente en la línea de comandos de MATLAB.

proj = polyspace.Project

% Configure analysis
proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', ... 
    'examples', 'cxx', 'Bug_Finder_Example', 'sources', 'numerical.c')};
proj.Configuration.TargetCompiler.Compiler = 'gnu4.9';
proj.Configuration.EnvironmentSettings.IncludeFolders = {fullfile(polyspaceroot, ...
'polyspace', 'examples', 'cxx', 'Bug_Finder_Example', 'sources')}
proj.Configuration.ResultsDir = fullfile(pwd,'results');

% Run analysis
bfStatus = proj.run('bugFinder');

% Read results
resObj = proj.Results;
bfSummary = getSummary(resObj, 'defects');
bfResults = getResults(resObj, 'readable');

Después del análisis, los resultados se guardan en el archivo ps_results.psbf. Puede abrir este archivo desde la interfaz de usuario de Polyspace. Por ejemplo, introduzca lo siguiente:

resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)

Información adicional

Consulte:

Consulte también

Temas