Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Exécuter PolyspaceBug Finder sur un serveur et charger les résultats dans l’interface web

Polyspace® Bug Finder™ Server™ vérifie l'absence de défauts et d’infractions aux normes de codage dans le code C/C++, puis charge les résultats dans l'interface web en vue de la revue du code.

Vous pouvez exécuter Bug Finder dans le cadre de l’intégration continue. Configurez des scripts qui exécutent une analyse Bug Finder à intervalles réguliers ou en fonction des nouvelles soumissions du code. Les scripts peuvent charger les résultats de l'analyse en vue de leur revue dans l'interface web Polyspace Access et envoyer éventuellement, aux propriétaires des fichiers source, des e-mails contenant les résultats Polyspace. Les propriétaires peuvent ouvrir l'interface web pour examiner uniquement les nouveaux résultats dans leur soumission, puis corriger ou justifier les problèmes.

Dans un projet ou une équipe standard, Polyspace Bug Finder Server s'exécute périodiquement sur quelques serveurs de test et charge les résultats en vue de leur revue. Chaque développeur et ingénieur qualité de l'équipe dispose d'une licence Polyspace Access™ lui permettant de consulter les résultats dans l'interface web à des fins d'investigation et de correction de bugs.

Prérequis

Pour exécuter une analyse Bug Finder sur un serveur et examiner les résultats dans l’interface web Polyspace Access, procédez à la configuration unique suivante :

  • Pour exécuter l’analyse, installez une instance du produit Polyspace Bug Finder Server.

  • Pour charger les résultats, configurez les composants nécessaires à l’hébergement de l'interface web de Polyspace Access.

  • Pour afficher les résultats chargés, chaque développeur et vous-même examinant les résultats devez disposer d'une licence Polyspace Access.

Consultez Install Polyspace Server and Access Products.

Vérifier l’installation Polyspace

Pour vérifier si Polyspace Bug Finder Server est installé :

  1. Ouvrir une fenêtre de commande. Accéder à polyspaceserverroot\polyspace\bin. Ici, polyspaceserverroot est le dossier d’installation de Polyspace Bug Finder Server, par exemple, C:\Program Files\Polyspace Server\R2025a. Voir aussi Installation Folder.

  2. Saisissez :

    polyspace-bug-finder-server -help

La liste des options autorisées pour une analyse Bug Finder doit apparaître.

Pour vérifier si l'interface web Polyspace Access est configurée pour le chargement :

  1. Accédez de nouveau à polyspaceserverroot\polyspace\bin.

  2. Saisissez :

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

    Ici, hostName est le nom du serveur qui héberge le serveur web Polyspace Access. Dans le cas d’un serveur hébergé localement, utilisez localhost. portNumber est le numéro de port en option du serveur. Si vous omettez le numéro de port, 9443 est utilisé.

    Une fois la configuration terminée, un projet appelé testProject est créé dans l'interface web Polyspace Access.

    À chaque fois que vous utilisez la commande polyspace-access, vous êtes invité à saisir votre nom d’utilisateur et votre mot de passe. Pour éviter de saisir les informations de connexion à chaque fois, fournissez le nom d'utilisateur et une version cryptée de votre mot de passe avec la commande. Pour créer un mot de passe crypté, saisissez :

    polyspace-access -encrypt-password

    Saisissez votre nom d’utilisateur et votre mot de passe. Copiez le mot de passe crypté et fournissez-le avec l'option -encrypted-password lors de l'utilisation de la commande polyspace-access.

  3. Dans un navigateur web, ouvrez cette URL :

    https://hostName:portNumber/metrics/index.html
    Ici, hostName et portNumber sont le nom d’hôte et le numéro de port issus de l’étape précédente.

Le volet Project Explorer de l’interface web Polyspace Access présente le projet testProject qui vient d’être créé.

Exécuter Bug Finder sur un exemple de fichiers

Pour exécuter Bug Finder, dans votre système d’exploitation, ouvrez une fenêtre de commande.

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

  2. Pour charger les résultats dans l’interface web Polyspace Access, utilisez la commande polyspace-access -upload (Polyspace Access).

Pour éviter d’avoir à taper le chemin complet de la commande, ajoutez le chemin polyspaceserverroot\polyspace\bin à la variable d’environnement Path de votre système d’exploitation.

Testez les commandes sur les exemples de fichiers fournis avec votre installation Polyspace.

  1. Copiez les exemples de fichiers source de polyspaceserverroot\polyspace\examples\cxx\Bug_Finder_Example\sources vers un autre dossier pour lequel vous disposez de droits d'écriture. Accédez à ce dossier sur la ligne de commande.

  2. Saisissez :

    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

    Ici, username désigne votre nom d’utilisateur et pwd, le mot de passe crypté que vous avez créé précédemment. Consultez Vérifier l’installation Polyspace.

Mettez à niveau l’interface web Polyspace Access. Un dossier testProject apparaît sur le volet Project Explorer. Ce dossier contient un projet myFirstProject.

Pour afficher les résultats du projet, cliquez sur Review. Pour plus d’informations, consultez Examiner les résultats Polyspace Bug Finder dans un navigateur web. Vous pouvez également accéder à la documentation au moyen du bouton en haut à droite de l'interface Polyspace Access.

Les options d’analyse utilisées avec la commande polyspace-bug-finder-server sont :

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

  • Détecter les défauts (-checkers): spécifiez les défauts (bugs) à rechercher.

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

Pour obtenir la liste complète des options disponibles pour une analyse Bug Finder, consultez Liste complète d’options du moteur d’analyse Polyspace Bug Finder. Pour ouvrir la documentation Bug Finder dans le navigateur web de votre système, saisissez :

polyspace-bug-finder-server -doc

Exemples de scripts pour une analyse Bug Finder sur serveurs

Pour exécuter l’analyse, au lieu de taper les commandes sur la ligne de commande, vous pouvez utiliser des scripts. Les scripts peuvent s’exécuter chaque fois que vous ajoutez ou modifiez des fichiers source.

Un exemple de fichier batch Windows® est affiché ci-dessous. Spécifiez ici le chemin de l’installation Polyspace dans le script. Pour utiliser ce script, remplacez polyspaceserverroot par le chemin de votre installation. Vous devez déjà avoir généré le mot de passe crypté à utiliser dans les scripts. Consultez Vérifier l’installation 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

Un exemple de script shell Linux® est présenté ci-dessous.

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

Ne pas spécifier les sources et options dans les mêmes fichiers que les scripts de lancement

Au lieu d'énumérer les fichiers source et les options d'analyse dans les scripts de lancement, vous pouvez les répertorier dans des fichiers texte séparés.

  • Spécifiez le fichier texte qui répertorie les sources au moyen de l’option -sources-list-file.

  • Spécifiez le fichier texte qui répertorie les options d’analyse au moyen de l’option -options-file.

En supprimant les fichiers source et les spécifications des options d'analyse des scripts de lancement, vous pouvez modifier ces spécifications selon les besoins lors de la soumission du nouveau code, sans toucher au script de lancement.

Observez le script de l’exemple précédent. Vous pouvez modifier la commande polyspace-bug-finder-server pour utiliser des fichiers texte contenant des sources et des options. Au lieu de :

polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir .

utilisez :

polyspace-bug-finder-server -sources-list-file sources.txt -options-file polyspace_opts.txt -results-dir .

Ici :

  • sources.txt répertorie les fichiers source sur des lignes distinctes :

    numerical.c
    dataflow.c

  • polyspace_opts.txt répertorie les options d’analyse sur des lignes distinctes :

    -I .
    -checkers numerical,data_flow

En règle générale, vos fichiers source sont spécifiés dans une commande de compilation (makefile). Au lieu de spécifier directement les fichiers source, vous pouvez faire en sorte que la commande de compilation crée la liste des spécifications de sources. Consultez polyspace-configure.

Workflow complet

Dans un workflow standard d'intégration continue, vous exécutez un script qui procède comme suit :

  1. Extraire les options Polyspace de votre commande de compilation.

    Par exemple, si vous utilisez des fichiers makefile pour créer votre code source, vous pouvez extraire les options d'analyse du fichier makefile. La commande ci-dessous commence par exécuter make, puis détermine les options d'analyse à partir des processus exécutés.

    polyspace-configure -output-options-file compile_opts make

    Voir aussi :

  2. Exécutez l’analyse avec le fichier d’options créé précédemment. Ajoutez un deuxième fichier d'options contenant les autres options nécessaires à l'analyse.

    polyspace-bug-finder-server -options-file compile_opts -options-file run_opts

    Consultez Options Files for Polyspace Analysis.

  3. Chargez les résultats dans Polyspace Access.

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

    Ici, login désigne la combinaison d'options requises pour communiquer avec le serveur web qui héberge Polyspace Access :

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

    resultsFolder correspond au dossier contenant les résultats Polyspace. projName et parentProjName sont les noms du projet et du dossier parent tels qu’ils apparaissent dans l’interface web Polyspace Access.

  4. Vous pouvez éventuellement envoyer aux développeurs des e-mails de notification contenant les nouveaux résultats de leur soumission de code. L’e-mail contient en pièces jointes les liens vers les résultats dans l’interface web Polyspace Access.

    Consultez Envoyer par e-mail des notifications contenant les résultats Polyspace Bug Finder Server.

Consultez des exemples de scripts exécutant cette procédure dans Sample Scripts for Polyspace Analysis with Jenkins.

Voir aussi

(Polyspace Access) | (Polyspace Access) |

Rubriques