La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Guide de démarrage rapide pour les produits Polyspace Server et Access
Pour éviter de déceler des bugs à un stade tardif du processus de développement, exécutez une analyse statique en utilisant les produits Polyspace®.
Polyspace Bug Finder™ vérifie le code C et C++ et détecte les bugs, les infractions aux normes de codage, les vulnérabilités de sécurité et d'autres problèmes.
Polyspace Code Prover™ procède à des contrôles exhaustifs à la recherche de divisions par zéro, de dépassements, d‘indexations de tableaux hors limites et d'autres types courants d'erreurs run-time.
Voir aussi Différences entre Polyspace Bug Finder et Polyspace Code Prover.
Si vous exécutez régulièrement des contrôleurs Polyspace dans le cadre de l'intégration continue, vous pouvez vous protéger des régressions dues à de nouveaux enregistrements de code. Pour exécuter Polyspace sur un serveur pendant une intégration continue, utilisez Polyspace Bug Finder Server et Polyspace Code Prover Server. Pour héberger les résultats de l’analyse Polyspace, utilisez Polyspace Access.
En règle générale, un workflow se présente comme indiqué dans cette figure.
Installation
Prérequis
Selon les besoins de votre projet, de votre équipe ou de votre organisation, vous avez décidé d'obtenir un certain nombre de licences de Polyspace Server et Polyspace Access. Ce guide vous aide à installer des instances individuelles de ces produits sur un ordinateur.
Installer Polyspace Server
Pour installer les produits Polyspace Server, téléchargez et exécutez le programme d’installation MathWorks. Saisissez une licence pour les produits Polyspace Server (ou demandez une licence pour une version d’essai). Voir aussi Demander une licence pour une version d'essai. Les produits Polyspace Server sont installés dans un dossier différent des autres produits MathWorks®. Voir aussi Install Polyspace Server and Access Products.
Installer Polyspace Access
Avant d'installer Polyspace Access, vous devez tenir compte du nombre d'utilisateurs susceptibles d'examiner simultanément les résultats Polyspace. Les exigences du système dépendent du nombre de chargés de revue simultanés. Voir aussi System Requirements for Polyspace Access (Polyspace Access).
Polyspace Access se compose de plusieurs services : un gestionnaire d'utilisateurs pour authentifier les connexions des utilisateurs, un tracker de problèmes pour intégrer votre outil de pistage des bugs à Polyspace, une base de données pour gérer les résultats, un serveur web pour afficher les résultats et une passerelle pour gérer les communications. Les services sont déployés dans des conteneurs Docker. Vous pouvez lancer les services à partir d'une interface commune appelée Cluster Admin.
Pour installer Polyspace Access :
Téléchargez le programme d’installation sous la forme d'un fichier zip.
Décompressez le fichier et lancez Cluster Admin. À partir de l’interface Cluster Admin, lancez les différents services. Consultez Installer Polyspace Access pour les revues web.
Après l’installation, pour afficher les résultats chargés, les autres chargés de revue et vous-même pouvez vous connecter à :
https://<hostName>:<portNumber>/metrics/index.html
hostName
et portNumber
correspondent respectivement au nom d'hôte du serveur sur lequel vous installez Polyspace Access et au port que Polyspace Access utilise pour communiquer avec les ordinateurs clients. Par exemple, example-server.com:9443
. Si vous ne connaissez pas le nom d'hôte et le numéro de port, contactez votre administrateur Polyspace Access.Installer Network License Manager
Polyspace Server et Polyspace Access utilisent des licences dont l’obtention des droits d’utilisation nécessite de communiquer avec Network License Manager.
Pour installer, configurer et lancer Network License Manager pour Polyspace Server, consultez Administrer les licences réseau.
Pour installer, configurer et lancer Network License Manager pour Polyspace Access, consultez Gérer les licences NNU Polyspace.
Configuration d’une analyse Polyspace
Prérequis
Le service informatique de votre organisation et vous-même devez installer le nombre requis d’instances de Polyspace Server et de Polyspace Access. Ce guide vous aide à configurer une analyse Polyspace dans le cadre de l'intégration continue en utilisant une seule instance de Polyspace Server et de Polyspace Access.
Pour vérifier que vos installations de Polyspace Server et Polyspace Access réussissent à communiquer entre elles, consultez Check Polyspace Installation.
Exécuter Polyspace Server et charger les résultats dans Polyspace Access
Vous pouvez exécuter les produits Polyspace Server à partir de la ligne de commande de votre système d’exploitation :
Pour réaliser l’analyse, utilisez les exécutables
polyspace-bug-finder-server
etpolyspace-code-prover-server
(Polyspace Code Prover).Pour charger les résultats d’une analyse, utilisez la commande
polyspace-access -upload
(Polyspace Access). Vous pouvez également utiliser la commandepolyspace-access -export
(Polyspace Access) pour exporter les résultats à partir de Polyspace Access sous forme de fichiers texte d’archivage ou de pièces jointes à des e-mails.
Vous pouvez lancer tous les exécutables Polyspace à partir du sous-dossier polyspace/bin
du dossier d'installation Polyspace (par exemple, /usr/local/Polyspace Server/R2025a
, voir aussi Installation Folder). Pour lancer Polyspace Server en utilisant des exemples de fichiers source C et des exemples de scripts, consultez :
Vous pouvez également préconfigurer les options d'analyse Polyspace à partir de votre commande de compilation (makefile), puis ajouter un deuxième fichier d'options comportant des spécifications d'analyse telles que des contrôleurs. Consultez Create Polyspace Analysis Configuration from Build Command (Makefile).
Si vous avez installé des produits Polyspace Desktop, vous pouvez préparer la configuration de l'analyse dans l'interface utilisateur des produits pour desktop. Vous pouvez alors générer les fichiers d’options Polyspace à exécuter pendant l’intégration continue. Consultez Configure Polyspace Analysis Options in User Interface and Generate Scripts.
Inclure des exécutions de Polyspace à l'intégration continue au moyen d'outils tels que Jenkins
Une fois que vous disposez de scripts fonctionnels pour exécuter une analyse Polyspace, vous pouvez lancer ces scripts à des intervalles prédéfinis à l'aide d'outils d'intégration continue tels que Jenkins et Bamboo. Dans Jenkins, vous pouvez utiliser un plugin Polyspace pour pointer vers vos installations Polyspace et envoyer des notifications par e-mail aux développeurs après l'analyse, sur la base de critères tels que les nouveaux défauts.
À partir de l’interface Jenkins, recherchez le plugin Polyspace et installez-le. Pour en savoir plus sur l'utilisation du plugin Jenkins et des exemples de scripts, consultez Dépôt GitHub du plugin Polyspace. Pour en savoir plus sur le workflow complet avec Jenkins, consultez Sample Scripts for Polyspace Analysis with Jenkins.
Créer un workflow pour les chargés de revue de résultats
Selon les outils que vous utilisez déjà, vous pouvez configurer un workflow pratique pour les chargés de revue de résultats. Par exemple :
Les chargés de revue reçoivent des alertes concernant les nouveaux résultats et se connectent à Polyspace Access
Lorsque de nouveaux résultats sont disponibles, l’outil d’intégration continue en informe un groupe d’utilisateurs. L’alerte par e-mail contient l’URL Polyspace Access du projet où les résultats sont chargés.
Dans l'interface Polyspace Access, un chargé de revue peut ouvrir l'URL de ce projet, filtrer les résultats sur la base des fichiers et résoudre les problèmes ou définir le statut des résultats. Voir aussi :
Filter and Sort Results in Polyspace Access Web Interface (Polyspace Access)
Address Results in Polyspace Access Through Bug Fixes or Justifications (Polyspace Access)
Les chargés de revue reçoivent des alertes personnalisées par e-mail avec les résultats en pièce jointe
Avant le chargement vers Polyspace Access, avec la commande
polyspace-access -set-unassigned-findings
(Polyspace Access), l'outil d'intégration continue (CI) attribue des propriétaires aux nouveaux résultats d'analyse sur la base de la propriété des fichiers ou des composants ou d'un autre critère.Après le chargement, avec la commande
polyspace-access -export
(Polyspace Access), l'outil CI exporte les résultats de l'analyse pour chaque propriétaire dans un fichier texte distinct. L'outil envoie alors au propriétaire un e-mail avec le fichier texte en pièce jointe. Le fichier texte contient les résultats accompagnés des URL correspondantes dans l'interface Polyspace Access.Si vous utilisez Jenkins en tant qu’outil CI, le plugin Polyspace de Jenkins supporte directement ce workflow. Consultez Sample Scripts for Polyspace Analysis with Jenkins.
À la réception de l’e-mail, le propriétaire ouvre le fichier texte joint, copie l’URL de chaque résultat dans son navigateur web et examine le résultat.
Les chargés de revue ouvrent des tickets à partir des outils de suivi de bugs
Un chargé de revue, tel qu'un ingénieur qualité, examine tous les nouveaux résultats et crée des tickets JIRA pour les développeurs. Consultez Create Bug Tracking Tool Tickets from the Polyspace Access Web Interface (Polyspace Access).
Les développeurs ouvrent chaque ticket JIRA et accèdent au résultat Polyspace correspondant dans l’interface Polyspace Access.