Accelerating the pace of engineering and science

Polyspace Bug Finder

Principales fonctionnalités

  • Détection d’erreurs d'exécution, des problèmes d’accès concurrents, des failles de sécurité et d'autres défauts
  • Analyse rapide de gros volumes de code, avec affichage des défauts dès leur détection
  • Vérification de la conformité aux normes MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, JSF++ et aux conventions de nommage personnalisées
  • Complexité cyclomatique et autres métriques de code
  • Intégration à Eclipse™
  • Traçabilité des résultats de la vérification du code jusqu'aux modèles Simulink®
  • Détection des erreurs avec une faible proportion de faux positifs
Static analysis results displayed by Polyspace Bug Finder.
Affichage des résultats de l'analyse statique par Polyspace Bug Finder.

Identification des défauts logiciels et des failles de sécurité grâce à l'analyse statique

Polyspace Bug Finder est un outil d'analyse statique du code qui permet d'analyser des composants ou des projets logiciels dans leur intégralité. Polyspace Bug Finder utilise des techniques rapides d'analyse statique du code, notamment des méthodes formelles, pour identifier des erreurs d'exécution, des problèmes d’accès concurrents, des failles de sécurité et d'autres défauts dans le code source en C ou C++, avec une faible proportion de faux positifs.

Vous pouvez utiliser Polyspace Bug Finder pour trouver, classer et corriger rapidement les bugs. Il met en évidence les défauts dès leur détection, vous n'avez donc pas besoin d'attendre que l'analyse du code source soit terminée. Vous pouvez l'utiliser pour détecter les bugs ou pour appliquer des règles de codage tôt dans le processus de développement, dès l'écriture, la modification ou la génération du code. Vous pouvez utiliser Polyspace Bug Finder avec l'IDE Eclipse, à l'aide d'un appel de ligne de commande et via une interface utilisateur autonome. Vous pouvez l'intégrer dans votre chaîne de compilation pour une utilisation automatisée.

PolySpace Bug Finder prend en charge toutes les activités essentielles du processus de développement logiciel, notamment :

  • Détection des défauts et des failles de sécurité
  • Respect des normes de codage
  • Génération de métriques mesurant la complexité du code
  • Tri et correction des défauts détectés

Polyspace Bug Finder vous permet de configurer un projet et d’effectuer une analyse statique du code :

  • Créez et définissez un projet en tenant compte de votre cible et de votre compilateur
  • Détectez les défauts dans le code source
  • Vérifiez la conformité du code aux normes MISRA-C:2004, MISRA AC AGC, MISRA-C++:2008, MISRA C:2012, JSF++ (Joint Strike Fighter Air Vehicle C++) ou aux conventions de nommage personnalisées
  • Générez des rapports ou visualisez les résultats de l’analyse statique de code et de sa conformité aux règles de codage.
  • Examinez les causes des défauts afin de les trier et les corriger
  • Tracez les défauts du code jusqu’au modèleSimulink ou IBM® Rational® Rhapsody®
  • Téléchargez les résultats de l’analyse statique dans un tableau de bord en ligne afin de surveiller l’évolution de la qualité du logiciel
Identify defects and check compliance to MISRA or JSF++.
Configuration d'un projet dans PolySpace pour identifier les défauts et vérifier la conformité aux normes MISRA ou JSF++.

Polyspace Bug Finder fonctionne avec Polyspace Code Prover™ pour démontrer l’absence de certaines erreurs d’exécution dans votre code source. La combinaison de ces deux produits fournit une solution d’analyse statique complète pouvant être utilisée dès les premières étapes du développement et couvrant la détection des bugs, le contrôle des règles de codage et la démonstration de l’absence d’erreurs d’exécution. Cette fonctionnalité garantit la fiabilité du logiciel embarqué tout en optimisant les coûts et en réduisant la durée des tests.

Vous pouvez accélérer l'analyse du code statique en envoyant des tâches d’analyse statique à un cluster de calcul via la Parallel Computing Toolbox™ et le MATLAB Distributed Computing Server™.

Réduction des cycles de test grâce à la correction anticipée des bugs

Polyspace Bug Finder détecte une multitude de défauts comme les défauts numériques, de mémoire statique, de mémoire dynamique, d’accès concurrents et les failles de sécurité. Vous pouvez identifier ces défauts sans avoir à supporter les coûts associés à l'écriture des cas de test. Avec une seule analyse, vous pouvez identifier la plupart des défauts de votre code. Cette fonctionnalité est particulièrement importante pour certains défauts, comme les problèmes d’accès concurrents, qui sont extrêmement difficiles à détecter à l'aide de cas de test en raison de leur nature non-déterministe.

Les défauts sont mis en évidence dans le code source, et vous disposez d'informations pour vous aider à identifier leur cause et leur source. Cela réduit d'autant plus le coût de la détection des défauts lors des phases de débogage et de correction de votre cycle de test.

Ce processus rationnalisé permet aux développeurs et ingénieurs qualité de classifier et trier les défauts. Pour chaque défaut détecté, Polyspace Bug Finder fournit des informations détaillées sur ses causes. Par exemple, en cas d’overflow sur un entier, Polyspace Bug Finder identifie tous les numéros de ligne du code ayant provoqué le dépassement. Les développeurs peuvent alors exploiter ces informations pour déterminer la meilleure façon de corriger le code. Les ingénieurs qualité peuvent utiliser ces informations pour classifier le défaut et décider de l’action à entreprendre. Ainsi, un ingénieur qualité peut marquer un défaut afin qu’il soit étudié plus amplement ou pour indiquer qu’il s’agit d’un défaut de faible priorité.

An overflow condition identified in Polyspace Bug Finder.
Identification d'un overflow avec Polyspace Bug Finder.

Vérification du respect des normes de codage (MISRA, JSF, conventions de nommage)

Polyspace Bug Finder prend en charge la détection des violations des normes de codage MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA AC AGC, JSF++ et des conventions de nommage personnalisées. Vous pouvez utiliser Polyspace Bug Finder pour appliquerdes règles de codage afin d'améliorer la lisibilité et la qualité de votre code. Vous pouvez configurer Polyspace Bug Finder pour qu’il prenne en compte toutes les règles de la norme ou uniquement les règles requises par la norme. Vous pouvez également sélectionner une par une les règles que vous souhaitez appliquer. Vous pouvez également définir votre propre configuration pour vous assurer que les mêmes règles de codage sont respectées au sein de votre équipe.

Vous pouvez corriger les violations de règles nt à leur source dans l’éditeur de code source, ou vous pouvez justifier les violations des règles de codage à des fins de documentation ou de commentaires de code. L’interface de Polyspace Bug Finder vous permet d’afficher uniquement les différences par rapport à l’analyse précédente et d’éviter ainsi de perdre du temps en étudiant plusieurs fois la même violation. Vous avez la possibilité d'exporter les résultats de l’analyse des règles de codage dans un tableau de bord en ligne afin de voir comment ils évoluent dans le temps.

Vérification de la conformité des produits Polyspace aux règles de codage MISRA
Vérifiez la conformité du code aux règles MISRA C®, identifiez et corrigez les violations et générez un rapport à des fins de documentation.

Identifying a MISRA violation.
Identification d'une violation MISRA.

Production de métriques de code et surveillance de la qualité du logiciel

Polyspace Bug Finder génère des métriques au niveau projet, du fichier et de la fonction afin d'évaluer la complexité du code. Il prend en charge la génération des métriques Hersteller Initiative Software (HIS), qui peuvent être exportées vers un tableau de bord en ligne. Les métriques mesurant la complexité du code comprennent :

  • La complexité cyclomatique
  • Le couplage de fonctions
  • La densité de commentaire
  • Les niveaux d’appel
  • Le nombre de chemins
  • La correspondance CWE

Vous pouvez définir un modèle qualité centralisé pour suivre les défauts, la complexité du code et les violations des règles de codage Ces métriques vous permettent de suivre vos progrès et de voir si vous vous rapprochez des objectifs de qualité de logiciel prédéfinis à mesure que votre code évolue. En mesurant le taux d’amélioration de la qualité du code, Polyspace Bug Finder permet aux développeurs, testeurs et gestionnaires de projet d’obtenir et de livrer un code d’excellente qualité.

Software quality metrics displayed via web browser.
Affichage des métriques de qualité du logiciel via un navigateur Web.

Traçabilité des résultats d'analyse du code jusqu'aux modèles Simulink

Vous pouvez utiliser Polyspace Bug Finder pour analyser du code généré ou mixte, qui contient à la fois du code généré et du code écrit manuellement. Les résultats de l’analyse des défauts du code généré automatiquement peuvent être liés au modèle Simulink. Vous pouvez identifier les parties fiables du modèle, puis corriger les problèmes de conception à l’origine des erreurs apparaissant dans le code. Vous pouvez également identifier les problèmes d'intégration potentiels entre le code généré et le code écrit manuellement. Par exemple, lorsque du code bas-niveau écrit manuellement est intégré avec du code généré, des plages erronées de signaux dans à l’interface peuvent provoquer une erreur d’exécution. Les informations détaillées concernant le flux de données et le flux de contrôle vous permettent d'identifier et d'assurer la traçabilité des défauts jusqu'au code écrit à la main ou jusqu'au modèle.

Polyspace Bug Finder prend également en charge la traçabilité des résultats dans les blocs dSPACE® TargetLink® et les modèles IBM Rational Rhapsody.

Tracing MISRA violations to the Simulink model.
Traçabilité des violations MISRA dans le modèle Simulink

Création d'artefact de certification

Vous pouvez utiliser Polyspace Bug Finder et Polyspace Code Prover avec l'IEC Certification Kit (ISO 26262 et IEC 61508) ou le DO Qualification Kit (DO-178) dans le processus de certification de projets basés sur ces normes.

Les rapports et artefacts montrent la qualité finale du code, mettent en évidence les sections qui ont été révisées, génèrent les métriques du code et décrivent l’application des règles de codage et le statut des erreurs d’exécution. Vous pouvez créer ces rapports aux formats PDF, HTML, RTF ou autres.

DO Qualification Kit contents.
Disponibilité des kits de certification et de qualification.

Maitrisez la qualité logicielle sur l'ensemble de votre cycle de...

Visionner le webinar