Contenu principal

Exécuter Polyspace Bug Finder sur un desktop

Polyspace® Bug Finder™ identifie les erreurs run-time, les problèmes de concurrence, les vulnérabilités de sécurité et bien d'autres défauts dans les logiciels embarqués C et C++. Grâce à l'analyse statique, y compris l'analyse sémantique, Bug Finder analyse les flux de contrôle, les flux de données et le comportement interprocédural. En mettant en évidence les défauts dès leur détection, Bug Finder vous permet de trier et de corriger les bugs dès le début du processus de développement.

Vous pouvez exécuter Bug Finder sur des projets C/C++ complets à partir de l'interface utilisateur Polyspace ou en utilisant des scripts. Consultez :

  • Exécuter Polyspace dans l’interface utilisateur

    Si vous utilisez Polyspace pour la première fois, vous souhaiterez peut-être commencer à partir de l’interface utilisateur Polyspace. Vous pouvez obtenir de l'aide de la part de fonctionnalités telles que l’assistant de configuration de projet, la configuration assistée et le journal d'analyse récapitulatif.

  • Exécuter Polyspace sur la ligne de commande Windows ou Linux

    Une fois que vous avez configuré un projet dans l'interface utilisateur Polyspace et effectué quelques essais d’exécution, vous pouvez exporter la configuration vers des scripts que vous exécutez automatiquement ou à la demande. Vous pouvez également exécuter une analyse Polyspace directement à partir de la ligne de commande de votre système d’exploitation. Vous pouvez alors enregistrer les commandes dans des fichiers batch (Windows®) ou des scripts shell (Linux®) en vue des exécutions ultérieures. Si vous exécutez des produits Polyspace Server en utilisant des outils d'intégration continue tels que Jenkins®, vous pouvez réutiliser vos scripts des produits Polyspace pour desktop.

  • Exécuter Polyspace dans MATLAB

    Si vous disposez d'une installation MATLAB®, vous pourrez très facilement écrire des scripts vous permettant d’exécuter une analyse Polyspace. Vous bénéficiez de tous les avantages de l'écriture de scripts dans l'environnement MATLAB, par exemple l'aide automatique sur la syntaxe des fonctions. Après une analyse, vous pouvez créer votre propre visualisation des résultats à l'aide des outils graphiques et de visualisation MATLAB.

Exemple de fichiers

Pour suivre les étapes de ce tutoriel, copiez les fichiers depuis polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources vers un autre dossier. Ici, polyspaceroot est le dossier d’installation de Polyspace, par exemple, C:\Program Files\Polyspace\R2025b.

Exécuter Polyspace dans l’interface utilisateur

Ouvrir l’interface utilisateur Polyspace

Double-cliquez sur le fichier exécutable polyspace dans polyspaceroot\polyspace\bin. Ici, polyspaceroot est le dossier d’installation de Polyspace, par exemple, C:\Program Files\Polyspace\R2025b. Voir aussi Installation Folder.

Si vous avez configuré un raccourci vers Polyspace sur votre desktop ou le menu Start dans Windows, double-cliquez sur le raccourci.

Ajouter des fichiers source

Pour exécuter une analyse, vous devez créer un nouveau projet Polyspace. Un projet Polyspace pointe vers les dossiers source et d’en-tête de votre système de fichiers.

Sur la gauche du volet Start Page, cliquez sur Start a new project. Vous pouvez également sélectionner File > New Project.

Après avoir fourni un nom de projet, dans les écrans suivants, ajoutez vos dossiers source et d’en-tête (il peut s’agir du même dossier). Dans ce tutoriel, ajoutez le chemin d’accès du dossier dans lequel vous avez enregistré les fichiers source et d’en-tête.

Une fois que vous avez fini d’ajouter vos dossiers source et d’en-tête, un nouveau projet apparaît dans le volet Project Browser. Vos dossiers source sont copiés dans le premier module du projet. Vous pouvez faire un clic droit sur un projet afin d’ajouter davantage de dossiers ultérieurement. Si vous ajoutez des dossiers ultérieurement, vous devez les copier explicitement dans un module.

Configurer et exécuter Polyspace

Vous pouvez modifier les options par défaut associées à une analyse Polyspace.

Cliquez sur le nœud Configuration dans le module de votre projet. Dans le volet Configuration, modifiez les options selon les besoins. Par exemple, sur le nœud Coding Rules & Code Metrics, sélectionnez Check MISRA C:2004.

Pour plus d’informations, consultez l’info-bulle de chaque option. Cliquez sur le lien More help pour obtenir une aide contextuelle sur les options.

Pour lancer une analyse, cliquez sur Run Bug Finder dans la barre d’outils du haut. Si le bouton indique Code Prover, cliquez sur la flèche à côté du bouton pour passer à Bug Finder.

Suivez l’avancée de l’analyse dans la fenêtre Output Summary. Une fois l’analyse terminée, les résultats apparaissent automatiquement.

Informations complémentaires

Consultez :

Exécuter Polyspace sur la ligne de commande Windows ou Linux

Vous pouvez exécuter Bug Finder à partir de la ligne de commande Windows ou Linux avec des fichiers batch (.bat) ou des scripts shell (.sh).

Pour exécuter une analyse Bug Finder, utilisez la commande polyspace-bug-finder.

Pour vous éviter d’avoir à taper le chemin complet de la commande, ajoutez le chemin polyspaceroot\polyspace\bin à la variable d’environnement Path de votre système d’exploitation. Ici, polyspaceroot est le dossier d’installation de Polyspace, par exemple, C:\Program Files\Polyspace\R2025b.

Accédez au dossier dans lequel vous avez enregistré les fichiers (avec cd). Saisissez ce qui suit :

polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
Ici, . indique le dossier actuel. Les options utilisées sont les suivantes :

  • -sources : spécifiez des fichiers source séparés par des virgules.

  • -I : spécifiez le chemin du dossier d’inclusion. Utilisez l'indicateur -I chaque fois que vous souhaitez ajouter un dossier d’inclusion distinct.

  • -results-dir : spécifiez le chemin d'accès au dossier dans lequel les résultats Polyspace Bug Finder seront enregistrés.

    Notez que le dossier des résultats est nettoyé et de nouveau rempli à chaque exécution. Pour éviter toute suppression accidentelle de fichiers pendant le nettoyage, au lieu d'utiliser un dossier existant qui contient d'autres fichiers, spécifiez un dossier dédié pour les résultats Polyspace.

Une fois l’analyse terminée, les résultats sont enregistrés dans le fichier ps_results.psbf. Vous pouvez ouvrir ce fichier à partir de l’interface utilisateur Polyspace. Par exemple, saisissez ce qui suit :

polyspace ps_results.psbf

Au lieu de spécifier des sources séparées par des virgules directement sur la ligne de commande, vous pouvez répertorier les sources dans un fichier texte (un fichier par ligne). Utilisez l’option -sources-list-file pour spécifier ce fichier texte.

Informations complémentaires

Consultez :

Exécuter Polyspace dans MATLAB

Avant d’exécuter Polyspace à partir de MATLAB, vous devez lier vos installations Polyspace et MATLAB. Consultez Integrate Polyspace with MATLAB and Simulink.

Pour exécuter une analyse, utilisez un objet polyspace.Project. L’objet présente deux propriétés :

  • Configuration: cette propriété permet de spécifier les options d'analyse telles que les sources, les en-têtes, le compilateur et le dossier de résultats.

  • Results: une fois l’analyse terminée, cette propriété permet de lire les résultats correspondants dans une table MATLAB.

Pour exécuter l’analyse, utilisez la méthode run de cet objet.

Pour exécuter Polyspace sur l'exemple de fichier numerical.c dans polyspaceroot\polyspace\examples\cxx\Bug_Finder_Examples\sources, saisissez ce qui suit à l'invite de commande 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');

Une fois l’analyse terminée, les résultats sont enregistrés dans le fichier ps_results.psbf. Vous pouvez ouvrir ce fichier à partir de l’interface utilisateur Polyspace. Par exemple, saisissez ce qui suit :

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

Informations complémentaires

Consultez :

Voir aussi

Rubriques