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

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 prend en charge les activités essentielles du processus de développement logiciel, notamment :

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

  • Configurez un projet en y intégrant votre cible embarquée et votre compilateur
  • Identifiez les différentes catégories de défauts, comme les problèmes de flux de données, de mémoire et d’accès concurrents, ainsi que les failles de sécurité telles que les données teintées
  • 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

Polyspace Bug Finder fonctionne avec Polyspace Code Prover™ pour démontrer l’absence d’erreurs d’exécution critiques pour la sécurité dans votre code source, notamment l’absence de division par zéro ou de débordement de tableau. 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.

Configuration d'un projet dans PolySpace pour identifier les défauts et vérifier la conformité aux normes MISRA ou JSF++.


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

Polyspace Bug Finder utilise l’analyse sémantique pour détecter précisément les violations des normes de codage MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA AC AGC et JSF++. Vous pouvez également utiliser Polyspace Bug Finder pour appliquer des conventions de nommage personnalisées afin d’améliorer la lisibilité et la maintenabilité de votre code. Vous pouvez en outre détecter les violations de sécurité afin de vous conformer aux directives sécuritaires telles que CERT C ou CWE.

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 via votre é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.


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

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 via votre é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é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.
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é.

Affichage des métriques de qualité du logiciel via un navigateur Web.

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.

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) et le DO Qualification Kit (pour DO-178B) 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.

Disponibilité des kits de certification et de qualification.