Contenu principal

Produits Polyspace et workflows de développement logiciel

Le groupe de produits Polyspace® offre une solution unifiée pour gérer, mesurer et surveiller la qualité d’un code C/C++ tout au long du cycle de vie du développement d’un logiciel.

Les produits d’analyse statique, Polyspace Bug Finder™ et Polyspace Code Prover™, vérifient le code C et C++ et détectent les erreurs run-time, les infractions aux normes de codage, les vulnérabilités de sécurité et d'autres problèmes :

  • Polyspace Code Prover peut couvrir tous les chemins d'exécution possibles d'un programme et suivre le flux de données le long de ces chemins en respectant certaines règles mathématiques. L'analyse exhaustive du contrôle et du flux de données peut compléter les tests dynamiques et mettre en évidence des erreurs run-time potentielles qui n'auraient pas été détectées lors des tests de robustesse habituels.

  • Polyspace Bug Finder peut analyser un programme à la recherche de défauts plus évidents, de vulnérabilités de sécurité, d’infractions aux normes de codage et d'autres problèmes susceptibles d'entraîner des erreurs run-time ou des résultats inattendus.

Le produit de tests dynamiques, Polyspace Test™, propose des outils permettant de développer, de gérer et d’exécuter des tests unitaires et des tests d'intégration pour le code C et C++ de vos systèmes embarqués. Avec Polyspace Test, vous pouvez créer des tests avec une API basée sur C/C++ xUnit ou dans une interface utilisateur graphique, exécuter des tests sur des ordinateurs hôtes ou des cibles embarquées, automatiser l'exécution des tests et relier les tests aux exigences pour assurer leur traçabilité. Vous pouvez également mesurer l'exhaustivité de vos tests en calculant les métriques de couverture du code et générer automatiquement des tests pour compléter la création manuelle des tests.

Utilisation des produits Polyspace dans le développement logiciel

La suite de produits Polyspace supporte toutes les phases d’un processus de développement de logiciels :

  • Avant la soumission du code :

    Les développeurs peuvent exécuter les produits Polyspace orientés desktop ou IDE pour vérifier leur code pendant le développement ou juste avant la soumission, afin d'atteindre des objectifs de qualité prédéfinis.

    Les produits peuvent être intégrés aux IDE tels que Visual Studio Code, Visual Studio® ou Eclipse™, ou exécutés avec des scripts pendant la compilation. Les résultats de l'analyse peuvent être examinés dans les IDE ou dans l'interface utilisateur graphique des produits pour desktop.

    Polyspace fournit les produits suivants pour desktop. Ces produits sont conçus pour être exécutés sur des projets complets ou des modules de code plus petits (jusqu'à un seul fichier source).

    • Polyspace Bug Finder pour vérifier le code à la recherche d'erreurs sémantiques qu'un compilateur ne peut pas détecter (comme l'utilisation de = au lieu de ==), de problèmes de concurrence, de vulnérabilités de sécurité et de bien d'autres défauts dans le code source C et C++.

    • Polyspace Code Prover pour procéder à un contrôle beaucoup plus approfondi et prouver l'absence de dépassements, de divisions par zéro, d’indexation de tableaux hors limites et d‘autres erreurs run-time dans du code source C et C++.

    • Polyspace Test pour créer et exécuter des tests C/C++ sur votre ordinateur hôte ou sur une cible embarquée.

  • Après la soumission du code :

    Les produits Polyspace pour serveur peuvent être exécutés automatiquement sur du code nouvellement validé en tant qu'étape de compilation dans un processus d'intégration continue (avec des outils tels que Jenkins®). L'analyse est exécutée sur un serveur et les résultats sont chargés dans une interface web en vue de leur revue collaborative.

    Polyspace fournit ces produits pour serveur :

    • Polyspace Bug Finder Server™ pour exécuter Bug Finder automatiquement sur un serveur et charger les résultats dans une interface web en vue de leur revue, et Polyspace Access™ pour examiner les résultats chargés.

    • Polyspace Code Prover Server pour exécuter Code Prover automatiquement sur un serveur et charger les résultats dans une interface web en vue de leur revue, et Polyspace Access pour examiner les résultats chargés.

    • Polyspace Test pour exécuter automatiquement des tests sur un serveur et charger les résultats dans une interface web en vue de leur revue, et Polyspace Access pour examiner les résultats chargés.

En règle générale, les produits pour serveur s'exécutent sur quelques serveurs de compilation et vérifient le code nouvellement validé dans le cadre du processus de compilation et des tests des logiciels. Chaque chargé de revue (développeur, ingénieur en assurance qualité ou responsable du développement) dispose d'une licence Polyspace Access lui permettant d’examiner les résultats d'analyse chargés.

En outre, si les développeurs ont accès à Polyspace Access pour la revue web des résultats post-soumission, ils peuvent également installer Polyspace as You Code dans leurs IDE pour l'analyse pré-soumission. Lorsqu'il est installé en tant qu'extension de l'IDE, Polyspace as You Code effectue une analyse de type Bug Finder au niveau du fichier et fournit des commentaires quasi-instantanés aux développeurs pendant qu'ils codent.

Ce diagramme présente un déploiement possible des produits Polyspace :

A flow diagram of a typical software development workflow. Polyspace products can be used both prior to submission and after submission.

Lorsque vous utilisez à la fois des produits pour desktop et des produits pour serveur, la transition entre votre workflow pré-soumission et votre workflow post-soumission s’effectue de manière transparente.

Coordination de l’utilisation pré-soumission et post-soumission de Polyspace

Lorsque vous exécutez plusieurs produits Polyspace à différents stades de votre workflow de développement de logiciels, les dernières exécutions peuvent bénéficier de l'utilisation précédente et inversement. Particulièrement :

  • Les développeurs qui utilisent Polyspace as You Code dans leurs IDE peuvent facilement corriger les défauts et les infractions aux normes de codage détectés et résolus dans un seul fichier. Une analyse Polyspace Bug Finder Server ultérieure, après la soumission du code, ne révèle plus ces problèmes.

  • Les résultats d'une analyse Polyspace Bug Finder Server peuvent servir de base de référence pour les exécutions Polyspace as You Code. Les développeurs utilisant les derniers résultats de Polyspace Bug Finder Server comme base de référence pour l'exécution de leurs IDE peuvent se concentrer uniquement sur les problèmes résultant de leurs modifications de code.

Produits Polyspace pour code Ada

Polyspace fournit ces produits pour vérifier le code Ada :

  • Polyspace Client™ pour Ada pour vérifier le code Ada à la recherche d’erreurs run-time sur un desktop.

  • Polyspace Server pour Ada pour vérifier le code Ada à la recherche d’erreurs run-time sur un serveur.

Vous pouvez utiliser le produit pour desktop afin d’exécuter l'analyse sur votre desktop, ou une combinaison de produits pour desktop et pour serveur, afin d’exécuter l'analyse sur un serveur. Les résultats de l’analyse sont téléchargés sur votre desktop pour y être examinés.

Si vous disposez d’une licence Polyspace Code Prover Access et que vous avez configuré l'interface web de Polyspace Code Prover Access, vous pouvez charger chaque résultat Ada issu des produits Ada pour desktop vers l'interface web en vue de sa revue collaborative.

Voir aussi https://www.mathworks.com/products/polyspace-ada.html.

Voir aussi

Rubriques