Polyspace Bug Finder

Principales fonctionnalités

  • Détection des erreurs d’exécution, des problèmes de flux de données et d’autres défauts dans le code C et C++
  • Analyse rapide de grandes bases de code
  • Vérification de la conformité aux règles MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, JSF++ et à des règles 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®
  • Accès aux résultats de Polyspace Code Prover
  • Détection de bugs avec une faible probabilité de fausse détection
Static analysis results displayed by Polyspace Bug Finder.
Affichage des résultats de l’analyse statique par Polyspace Bug Finder

Identification des défauts du logiciel avec l’analyse statique

Polyspace Bug Finder est un outil d’analyse statique de code permettant d’analyser des éléments de code ou des projets logiciels embarqués dans leur totalité. Polyspace Bug Finder utilise des techniques d’analyse de code statique rapide, notamment des méthodes formelles avec une faible probabilité de fausse détection pour identifier les bugs numériques, de flux de données, de programmation et tout autre bug dans le code source C ou C++.

Vous pouvez l’utiliser pour détecter, trier et corriger rapidement les bugs. Polyspace Bug Finder détecte les bugs et les violations de règles de codage dès l’écriture, la modification ou la génération du code. Vous pouvez également l’utiliser pour déboguer et corriger votre code de manière itérative, dès le début du processus de développement. Polyspace Bug Finder prend en charge l’appel en ligne de commande, l’utilisation via une interface utilisateur autonome et l’utilisation avec l’IDE Eclipse. Vous pouvez l’intégrer dans des environnements de déploiement pour une utilisation automatisée. Polyspace Bug Finder prend en charge les activités essentielles du processus de développement logiciel, notamment :

  • Détection des défauts
  • Respect des normes de codage
  • Génération des métriques associées au code
  • Tri et correction des défauts identifiés

Avec Polyspace Bug Finder, vous pouvez configurer un projet et réaliser une analyse de code statique :

  • Créez et définissez un projet par cible et programme de conformité embarqués
  • Détectez des défauts dans un code source
  • Vérifiez la conformité du code aux règles MISRA-C:2004, MISRA AC AGC, MISRA-C++:2008, MISRA C:2012, JSF++ (Joint Strike Fighter Air Vehicle C++) ou aux règles de nommage personnalisées
  • Générez des rapports ou visualisez l’analyse de code statique et les résultats de conformité du code
  • Examinez les causes des défauts afin de trier et corriger les défauts identifiés
  • Établissez la traçabilité des défauts du code jusque dans les blocs Simulink ou les modèles IBM Rational Rhapsody
  • Téléchargez les résultats de l’analyse statique vers 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 règles 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 de bugs, le contrôle des règles de codage et la preuve d’absence d’erreurs d’exécution. Cette fonctionnalité garantit la fiabilité du logiciel embarqué qui doit fonctionner selon les plus hauts niveaux de qualité et de sécurité.

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

Détection des bugs et tri des défauts

Polyspace Bug Finder détecte une variété de défauts, tels que les défauts numériques, de programmation, de mémoire statique, de mémoire dynamique et de flux de données. Ces défauts sont identifiés dans le code source et des informations de traçabilité aident à identifier la cause et la source des défauts. Les violations des règles de codage sont identifiées directement dans le code source et des messages sont générés pour indiquer quelles règles de codage ont été violées.

Le processus rationalisé permet aux développeurs et aux ingénieurs qualité de classifier et de trier les défauts. Pour chaque défaut détecté, Polyspace Bug Finder fournit des informations détaillées sur ses causes. Ainsi, en cas de dépassement de capacité pour 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, l’ingénieur qualité peut marquer le défaut afin qu’il soit étudié plus amplement ou indiquer qu’il s’agit d’un défaut de faible priorité.

An overflow condition identified in Polyspace Bug Finder.
Identification d’un dépassement dans Polyspace Bug Finder

Vérification de la conformité aux normes de codage (MISRA, JSF, règles de nommage)

Polyspace Bug Finder prend en charge la détection des violations des règles MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA-AC-AGC, JSF++ et des règles de nommage personnalisées. Vous pouvez utiliser Polyspace Bug Finder pour renforcer les 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, uniquement les règles requises par la norme ou des règles que vous avez sélectionnées. Vous pouvez aussi 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 en remontant à 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 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. Les résultats de l’analyse des règles de codage peuvent être exportés vers un tableau de bord en ligne afin de voir comment ils évoluent dans le temps.

Identifying a MISRA violation.
Identification d’une violation MISRA

Production des métriques associées au code, surveillance de la qualité du logiciel

Polyspace Bug Finder génère des métriques au niveau du 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
  • La densité de commentaire
  • Les niveaux d’appel
  • Le nombre de chemins
  • Le nombre de paramètres de fonction

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. En mesurant le taux d’amélioration de la qualité du code, Polyspace Bug Finder permet aux développeurs, testeurs et gestionnaires de projet de cibler un code d’excellente qualité et de l’obtenir.

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

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

Vous pouvez utiliser Polyspace Bug Finder pour analyser le code généré ou le code mixte (qui contient à la fois le code généré et le code écrit manuellement). Les résultats de l’analyse des défauts du code généré automatiquement sont liés au modèle Simulink. Vous pouvez identifier les parties fiables du modèle et corriger les problèmes de conception à l’origine des erreurs apparaissant dans le code. De plus, vous pouvez identifier les problèmes susceptibles d’exister entre l’interface du code généré et l’interface du code écrit manuellement. Par exemple, lorsque du code manuel intégré via une S-Function est mélangé à du code généré, des plages erronées de signaux à l’interface peuvent provoquer une erreur d’exécution.

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’artefacts de certification

Vous pouvez utiliser Polyspace Bug Finder et Polyspace Code Prover avec IEC Certification Kit (IEC 61508 et ISO 26262) et DO Qualification Kit (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.

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

Essayer Polyspace Bug Finder

Obtenir une version d'évaluation

Améliorer la qualité de votre logiciel embarqué avec Polyspace

Visionner le webinar