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é :
Ouvrir une fenêtre de commande. Accéder à
. Ici,polyspaceserverroot
\polyspace\bin
est le dossier d’installation de Polyspace Bug Finder Server, par exemple,polyspaceserverroot
C:\Program Files\Polyspace Server\R2025a
. Voir aussi Installation Folder.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 :
Accédez de nouveau à
.polyspaceserverroot
\polyspace\binSaisissez :
polyspace-access -host hostName -port portNumber -create-project testProject
Ici,
est le nom du serveur qui héberge le serveur web Polyspace Access. Dans le cas d’un serveur hébergé localement, utilisezhostName
localhost
.
est le numéro de port en option du serveur. Si vous omettez le numéro de port,portNumber
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 commandepolyspace-access
.Dans un navigateur web, ouvrez cette URL :
Ici,https://hostName:portNumber/metrics/index.html
ethostName
sont le nom d’hôte et le numéro de port issus de l’étape précédente.portNumber
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.
Pour exécuter une analyse Bug Finder, utilisez la commande
polyspace-bug-finder-server
.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
à la variable d’environnement polyspaceserverroot
\polyspace\binPath
de votre système d’exploitation.
Testez les commandes sur les exemples de fichiers fournis avec votre installation Polyspace.
Copiez les exemples de fichiers source de
vers un autre dossier pour lequel vous disposez de droits d'écriture. Accédez à ce dossier sur la ligne de commande.polyspaceserverroot
\polyspace\examples\cxx\Bug_Finder_Example\sourcesSaisissez :
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,
désigne votre nom d’utilisateur etusername
, le mot de passe crypté que vous avez créé précédemment. Consultez Vérifier l’installation Polyspace.pwd
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 :
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 :
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.
Chargez les résultats dans Polyspace Access.
polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName
Ici,
désigne la combinaison d'options requises pour communiquer avec le serveur web qui héberge Polyspace Access :login
-host hostName -port portNumber -login username -encrypted-password pwd
correspond au dossier contenant les résultats Polyspace.resultsFolder
etprojName
sont les noms du projet et du dossier parent tels qu’ils apparaissent dans l’interface web Polyspace Access.parentProjName
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
-create-project
(Polyspace Access) | polyspace-access
-upload
(Polyspace Access) | polyspace-bug-finder-server
Rubriques
- Manage Polyspace Access Results and Users at the Command Line (Polyspace Access)
- Envoyer par e-mail des notifications contenant les résultats Polyspace Bug Finder Server
- Envoyer l'analyse Bug Finder du desktop vers un serveur hébergé localement
- Liste complète d’options du moteur d’analyse Polyspace Bug Finder