Outil d'analyse et de certification du code LDRA Testbed
 
Composants de la suite d'outils LDRA Testbed


Cliquez sur le module souhaité pour accéder à la description.

Retrouvez également des informations sur les modules :

 

 

 

 

 

 

 

 

 

Code Review


La suite d'outils LDRA Testbed permet de vérifier de façon automatisée le respect des différents standards et règles de codage sur un simple fichier source ou sur un système complet. Que ces standards de programmation soient spécifiques à un utilisateur ou bien qu'il s'agisse de standards industriels, le module Code Review contrôle la conformité à ces règles et rapporte de façon documentée les violations et avertissements qu'il aura détecté lors de son analyse. Des liens hypertexte sur les lignes de code défaillantes sont insérés directement dans le rapport, ce qui clarifie et facilite la correction des ereurs, améliorant ainsi la productivité.

Caractéristiques :

Analyse syntaxique du code

Le module Code Review intègre un parseur (outil d'analyse syntaxique) qui opère directement sur le code source. Ainsi, le modèle de parseur développé par LDRA permet les fonctionnalités d'analyses complètes, telles que la détection du code "mort" ou encore du code inaccessible.

Conformité aux standards

La suite d'outils LDRA Testbed permet de contrôler la conformité du code à des standards industriels reconnus, tels que :

  • DO-178B
  • MISRA-C++:2008
  • MISRA-C:98
  • MISRA-C:2004
  • HIS
  • CERT-C
  • Def Stan 00-55
  • JSF++ AV
  • IEC 61508
  • High Integrity C++

Il est également possible d'utiliser un ensemble de règles de codage fournies par LDRA, de l'adapter et de le configurer selon ses propres besoins.

Visualisation du code

La possibilité de visualiser tous les niveaux d'un système est une aide particulièrement efficace, le module Code Review de la suite d'outils LDRA Testbed permet de visualiser ces différents niveaux, à savoir : les instructions, les blocs, les procédures, l'application et enfin le système. Les graphes ci-dessous permettent d'améliorer considérablement la lisibilité et donc la maintenance du code.

Graphe d'appel statique : propose une vue hiérarchique de l'application et des entités du système.
Graphe de flux : propose une vue graphique des données à travers les entités du système.

Rapport d'analyse Code Review

Les résultats de l'analyse du module Code Review sont disponibles sous format ASCII ou HTML. Le rapport offre une visualistion complète des violations des règles de codage ainsi que des avertissements, et permet d'accéder rapidement aux lignes du code source incriminées.

Points fort du module Code Review :

  • Automatise la relecture manuelle du code, traditionnellement longue et fastidieuse, donc coûteuse.
  • Graphe de visualisation de la structure du code.
  • Contrôle la fiabilité, la sécurité et l'opérabilité du code.
  • Génération automatiqe des rapports et audits.
  • Processus efficace et reproductible.
  • Résultat : L’analyse du code automatise le processus de développement et apporte un gain de temps et de ressources.
[retour haut de page]

Quality Review


En plus de déterminer automatiquement la complexité et la densité du code source, la suite d'outils LDRA Testbed permet la mesure de la complexité "essentielle", c'est à dire les parties du code qui doivent être revues. La densité du code est une autre métrique du modèle qualité qui met en évidence des parites du code pouvant conduire à des problèmes de maintenabilité. Le module Quality Review permet ainsi de s'assurer de la qualité globale du code en s'appuyant sur des facteurs significatifs : la clarté, la maintenabilité, la testabilité. En somme, il permet d'assurer un meilleur niveau de qualité du code sans impacter sur le temps de développement.

Caractéristiques :

Analyse de la complexité

Les métriques de complexité mesurent et rendent état de la structure du code. La complexité est calculée au niveau des procédures, des fichiers et plus largement pour le système dans son ensemble. La suite d'outils LDRA Testbed aide à répondre aux questions clefs suivantes : Le code est-il bien stucturé ? N'est-il pas trop complexe ? Est-il maintenable ? Quelles sont les parties qui peuvent poser problème ?

Vérification de la structure de programmation

La vérification de la strcuture de programmation (en anglais SPV) combine les métriques de complexité et du nombre de noeuds et aide à déterminer la complexité essentielle du code. L'objectif du SPV est d'aider à recoder rapidement les parties du code mal structurées en fournissant un modèle qui présente une meilleure structure de programmation.

Analyse de la densité

Le module Quality Review détermine l'ensemble des chemins possibles lors de l'éxécution du code. Le nombre de recouvrements possibles de ces chemins est connu dans l'industrie sous le nom de première densité. Plus la densité du code est élevée, plus la possibilité d'avoir des répercussions non désirées lors de modifications est importante.

Métriques d'évaluation du code

La suite d'outils LDRA Testbed évalue la qualité du code via un grand nombre de métriques selon 3 catégories majeures :

  • Clarté : Est-il facile de comprendre le système ?
  • Maintenabilité : Est-ce un système facilement maintenable ?
  • Testabilité : Quel sera l'effort à fournir pour tester le système ?

Rapport d'analyse Quality Review

Le rapport fournit une analyse approfondie de la qualité du code source. Il inclut les limites inférieures et supérieurs acceptables pour chaque métrique. Ces limites peuvent être définies soit par l'utilisateur, soit par des standards industriels.

Points forts du module Quality Review :

  • Génération automatique des rapports documentés.
  • Visualisation immédiate de la qualité du code.
  • Aide au recodage pour diminuer la complexité.
  • Classification des métriques.
  • Résultat : Qualité du code mesurée et facilement visualisable, fournit les axes pour l'améliration de la qualité et de la fiabilité du code.
[retour haut de page]

Design Review

Un aspect essentiel du développement de logiciel est défini dans la phrase suivante : "le logiciel doit répondre aux attentes." Le module Design Review de la suite d'outils LDRA Testbed élargit l’étendue de l’analyse statique fournie par les modules Code Review et Design Review, en incluant une analyse de la conception du code source. La structure du code, le flux de commande et le flux de données sont examinés et permettent d’identifier la conformité (ou la non conformité) de la conception .

Le module Design Review établit également une méthodologie afin que l'outil LDRA puisse remplir sa mission et offre un "développement de logiciel zéro défaut" à n'importe quelle équipe de développement de logiciel. En veillant à éliminer les défauts de fonctionnement avant qu’ils n’entraînent des coûts supplémentaires lors du test et du déploiement du système,le module Design Review est un élément essentiel du retour sur investissement offert par la suite d’outil LDRA Testbed.

Caractéristiques :

Validité de la conception

Le graphe d’appel et graphe de flux (établis par le module Code Review) sont complétés par une analyse complète de tous les paramètres et objets de données utilisés dans votre code. Ce modèle étendu peut servir à déterminer la traçabilité des exigences et la validité de la conception. Pour plus de performance, une option de génération de commentaires d’en-tête automatique est également fournie.

Le module Design Review peut aussi être utilisé par des responsables d'architecture logicielle pour s’assurer de la régularité de la conception avant de communiquer leurs exigences aux développeurs et aux testeurs. Le code est analysé sans qu’aucune compilation ne soit requise, favorisant ainsi une transition facile de la conception à la mise en oeuvre finale.

Analyse de l’interface et du couplage

L’analyse des interfaces inclut la documentation des déclarations du prototype de procédure, les paramètres utilisés par ces procédures et le test de cohérence de l’interface de votre application. Pour le langage C++, des contrats de classe sont documentés et incluent des variables membres et des méthodes.

L’analyse d’interface identifie les variables de programme potentiellement erronées. L’outil effectue une analyse complète de tous les paramètres de procédure, les variables globales et les valeurs retournées par les fonctions.

Le couplage de commande et le couplage des données, deux éléments clés dans l’évaluation de la testabilité de votre conception, sont documentés respectivement dans des graphiques "en toile d’araignée" et des rapports d'analyse d'objets de données.

Anomalies des données

Les anomalies de flux de données sont des séquences d’actions liées à des variables de programme suspectées d’être erronées. Les messages produits par le rapport d'analyse de flux de données détectent différents types d'anomalies de flux de données.

L’analyse de flux de données est exécutée dans les limites de la procédure au niveau du fichier source ou du système, et les anomalies sont signalées lorsqu'elles sont identifiées.

Test de faisabilité

Le comportement du modèle de révision de la conception est examiné par un processus automatisé, appelé test de faisabilité, qui produit un environnement de test dans lequel tous les chemins réalisables peuvent être exécutés. L’utilisation complète de cet environnement de test est accomplie de manière très efficace dans le composant de tests unitaires de la suite LDRA Testbed.

Dans le langage C++, les erreurs de fonctionnement les plus fréquentes sont souvent associées à votre système de gestion de la mémoire et à l’utilisation d’artéfacts de mémoire par des pointeurs. LDRA examine ces domaines problématiques, ainsi que la structure, les listes liées et l’utilisation de réseaux.

Points forts du modules Design Review :

  • Analyse de la conformité de la conception.
  • Génération des plans de test.
  • Identification des variables erronées.
  • Résultat : Conception conforme aux spécifications, gain de temps et de ressources.
[retour haut de page]

Unit Test

Qu’est-ce que le test unitaire ?

On peut définir le test unitaire comme étant un processus de vérification et de validation d’un module individuel ou d’une "unité" de logiciel. Dans sa forme la plus simple, une unité peut être une fonction ou méthode unique isolée de la structure principale du code d’application. En général, l’analyse de cette unité isolée implique que les développeurs écrivent les modules de pilote supplémentaires ou les ateliers de test qui "gèrent" les entrées et sorties requises de l’unité.

L’avantage principal du test unitaire est qu’il permet aux développeurs d’appliquer les techniques d’analyse beaucoup plus tôt dans le processus de développement qu’ils ne le feraient normalement. Cependant, des études ont montré que le test unitaire est sous-utilisé par 90 % des développeurs de logiciels étant donné que les techniques traditionnelles nécessitent beaucoup de travail, sont coûteuses, dépendent de connaissances spécifiques et sont, par conséquent, peu attrayantes aux yeux des développeurs et des testeurs.

Cela dit, on reconnaît généralement qu'il est bien plus rentable d’identifier et résoudre les erreurs logicielles dès le début du processus de développement, par conséquent, l'application de techniques d'analyse du code source au niveau de l'unité permet de réaliser des économies importantes à long terme.

Qu’est-ce que TBrun ?

En réponse aux problèmes soulevés ci-dessus, LDRA a développé TBrun. TBrun utilise les fonctions efficaces d’analyse statique et dynamique de la suite d’outils LDRA Testbed afin de fournir une solution de tests unitaires sophistiquée et entièrement automatisée. TBrun génère automatiquement des ateliers de test pour l’unité testée et permet ainsi de gagner du temps, de libérer du personnel hautement qualifié, d'accroître l'efficacité de test et d’inciter au test grâce à un processus répétitif offrant moins de risques d’erreur.

Etant donné que TBrun est entièrement intégré à LDRA Testbed, cela permet d’appliquer une large gamme de techniques d’analyse statique et dynamique à des niveaux divers. Par conséquent, il se peut que le code analysé (l’« unité ») soit une fonction unique, un ensemble de fonctions, un fichier source, un sous-système ou même un système complet. Cette fonction très efficace permet d’utiliser TBrun pour tester des unités, des modules, des sous-systèmes et des intégrations.

[retour haut de page]

Test Verification

La vérification de test peut être utilisée par le composant de tests unitaires (TBrun) pour fournir la mesure de couverture des tests exécutés qu’il s’agisse de tests de fonctions/méthodes, tests de modules/classes ou encore tests de niveau composants/système. L’outil élabore un plan des tests à réaliser et fournit un graphe coloré aidant à appréhender le niveau de couverture désiré en fonction du niveau de criticité de l’application.

Ce module permet également la vérification de cas de tests lorsque ceux-ci sont définis par les développeurs (non définis par le module de tests unitaires). Les tests peuvent être exécutés dans l’environnement LDRA Testbed, sur un simulateur, sur un environnement hôte ou bien sur une plateforme cible.

Pour les utilisateurs intéressés par la méthodologie LDRA Zero Defect Software Development, la vérification de rests fournit une couverture de faisabilité ou un pourcentage des chemins pouvant être exécutés par un cas de test.

Caractéristiques :

Métriques de couverture

LDRA Testbed calcule les métriques de couverture standards pour :

  • les instructions
  • les décisions de branches
  • les points d'entrées/sorties de fonctions

LDRA Testbed fournit également des métriques de testabilité du code.

l'option TBsafe ajoute les métriques de couverture pour :

  • Branche Décision Condition
  • Branche Condition Combinaison
  • Condition modifiée / Couverture de Décision (MC/DC pour la DO-178B Niveau A)
  • Graphe d’Appel dynamique

Plan de tests

La vérification de tests crée 2 documents, les plans de tests :

  • Le plan de testabilité : il montre le code source et les branches associées mais non couvertes se trouvant dans des chemins possibles ou faisables (appelés aussi LCSAJ’s) ainsi que la condition logique nécessaire a l’exécution de telles branches.
  • Le plan de tests MC/DC : détaille les étapes nécessaires pour atteindre le niveau A de la DO-178B, Modified Condition/Decision Coverage.

La suite d’outils LDRA synthétise le système a travers :

  • Le graphe d’appel qui offre une navigation graphique de toute l’application et permet la visualisation graphique de tous les appels inter fonctions ou inter procédures. Le graphe d’appel dynamique permet la visualisation de l’information de couverture de test grâce à la colorisation.
  • Le graphe de contrôle qui offre la possibilité de visualiser la valeur de l’expression logique des conditions dans le code. Il permet aussi de visualiser graphiquement l’information de couverture de test au niveau des instructions et des branches.

Rapports

Les rapports génères automatiquement peuvent être configurés pour accepter ou refuser le niveau de couverture atteint et ce au niveau procédures ou bien au niveau des fichiers. On trouve dans ces rapports :

  • Le code source annoté
  • Un rapport de l’ensemble du système
  • Les métriques de couverture des :
    • Procédures
    • Fichiers
    • Système

Analyse des données / du profil

L’analyse des données peut être utilisée de 2 manières. La première permet d’obtenir des informations sur les groupes de données exécutées par une ligne ou un ensemble de lignes de code. Il s’agit d’une information primordiale pour les tests de non régression.

La seconde utilisation permet d’identifier les lignes de code qui ont été exécutées par un ensemble de données de tests. Ceci peut être utile pour la génération de la documentation ou pour exécuter une partie spécifique du code.

L'analyse du profil est un ensemble minimal de données qui permettent d’atteindre le meilleur niveau de couverture. Cet ensemble minimal peut être utilisé pour rendre les tests de non régression plus efficaces, diminuer le temps et les coûts.

Points Forts du module Test Verification :

  • Mesure l’avancée de la vérification du code et évalue l’effort qui reste à produire
  • Améliore la fiabilité et la robustesse du code
  • Identifie les parties de code insuffisamment testées
  • Réduit le coût des tests de non régression
  • Augmente l’efficacité du code
  • Réalise des tests de haut niveau
  • Résultat : Une économie de ressources, un produit de meilleure qualité et un temps de développement plus court
[retour haut de page]

Test Manager

Le gestionnaire de test maintient la base de tests unitaires ainsi qu’un historique de tous les résultats associés générés par la suite d’outils LDRA . De plus, le gestionnaire de test détecte automatiquement les modifications intervenant sur le code source et génère les tests de non régression associés qui permettront de valider ces modifications.

Caractéristiques :

Détection des modifications

Le module identifie et signale les modifications réalisées sur le code source permettant ainsi de mesurer précisément l’impact de ces modifications sur le processus de test et sur l’analyse du code.

Gestion des tests de non régression

Une fois que les tests ont été exécutés, l’utilisateur peut ajouter les informations relatives à la traçabilité et vouloir désigner le test comme test de non régression. Le test et les résultats du test sont sauvegardés dans la base de gestion des tests avec les modules testés. Le processus de tests de non régression peut-être automatisé et faire partie intégrante du cycle de développement, permettant ainsi un suivi de la conformité du processus de test.

Documentation

Une documentation complète des rapports de tests est réalisée, elle permet un suivi efficace des phases de tests par les développeurs, les responsables de la maintenance ou les ingénieurs qualité. Les rapports de tests présentent une vue synthétique des tests mais aussi un rapport des métriques qualité. A partir des rapports de tests, il est possible d’accéder directement au code source.

Tests de validation

Pour assurer l’intégrité de la base de données de tests, il est fondamental de re-exécuter les tests de validation en cas de modification du code. A cette fin, le gestionnaire de test détecte automatiquement les modifications intervenues sur le code source et détermine les cas de tests affectés par les modifications. Le gestionnaire de test va également déterminer, si les modifications réalisées sur certains cas de tests, comme des modifications d’une variable globale par exemple, ont des conséquences sur d’autres cas de tests.

Points Forts du module Test Manager :

  • Pour les développeurs et les responsables des tests, le gestionnaire de test permet une meilleure compréhension de systèmes qui peuvent être complexes et en facilite la documentation et la maintenance.
  • Une documentation complète est réalisée, utilisable pour la maintenance et les audits
  • Grâce à une meilleure lecture du système, l’intégration de nouveaux membres au sein de l’équipe de développement est plus rapide et plus facile.
  • La documentation permet de se mettre en conformité avec les standards qualité, i.e ISO 9001:2000
  • Une baisse des coûts de maintenance est obtenue grâce a une vision plus complète et globale du système
  • Résultat : Une meilleure compréhension du système dans son intégralité et une diminution des coûts de maintenance.
[retour haut de page]

TBreq

Qu’est-ce que TBreq ?

Test et vérification des exigences

TBreq, intégrée à la suite d’outil LDRA qui inclut LDRA Testbed et TBrun (module de tests unitaires), est une solution unique qui peut aider votre équipe à relever les défis consistant à faire correspondre les spécifications de test, les scenarii de tests unitaires, les données de test et la vérification de couverture à vos exigences élevées en matière de conception. TBreq interagit directement avec votre outil de gestion (DOORS, ReqPro, Word ou Excel) afin d’assurer un suivi tout au long de la durée de vie de votre logiciel et la complétude de couverture de vos exigences.

Au sein de la suite d’outil LDRA, TBreq crée des spécifications de test et des scenarii de test exécutables directement à partir d’exigences. Les résultats de test sont automatiquement renvoyés à l’outil de gestion des exigences afin de fournir une "vérification aller-retour de traçabilité des exigences."

L’une des caractéristiques clés de TBreq est sa capacité à capturer les exigences (élevées, dérivées et faibles) de n’importe quels outil et source de gestion, tout en offrant une interface intuitive pour la traçabilité, la génération de scénario de test et la vérification des exigences. La combinaison de toutes ces fonctions fait de TBreq la solution la plus efficace pour la gestion des exigences sur le marché actuel.

Conformité à vos normes de certification

La qualification correspond à l’autorisation par les organismes de certification de réduire ou remplacer des activités manuelles par des résultats et vérifications d’outil.

TBreq respecte les normes de qualité les plus exigeantes : CMMI, DO-178B et DO-254 pour l’aéronautique, EN-50128 pour les transports ferroviaires et IEC 61508 pour l’automobile, et bien d’autres encore. Cet outil est conforme au processus AIRBUS pour les projets A380 et A340, le programme F-35 Joint Strike Fighter et d’autres projets importants.

TBreq est qualifiée selon toutes ces normes et LDRA peut apporter son aide lors de ce processus de qualification. LDRA propose également un pack de qualification d’outil DO-178B pour vous aider lors du processus de certification.

TBreq et le pack de qualification d’outil de LDRA assurent un retour sur investissement optimal pour vos projets certifiés.

 

Automatisez votre matrice de test des exigences

La capacité de gérer les modifications des exigences et des tests

Les exigences sont un aspect essentiel d’un projet et, par conséquent, la gestion de modification des exigences est essentielle. TBreq fournit l'interface la plus sophistiquée pour votre outil de gestion des exigences. Toutes les modifications informelles sont enregistrées et toutes les données de test affectées par ces modifications sont mises en évidence afin que tous les membres de l’équipe puissent identifier les éventuelles données "suspectes."

Création automatique d’une matrice de traçabilité

TBreq est une solution unique qui fournit des rapports de traçabilité de bout en bout sur un seul affichage. Les analystes et chefs de projet peuvent ainsi avoir une vision complète de la traçabilité, qu'il s'agisse des exigences du logiciel, des spécifications de test de la conception, du codage ou des tests.

Exigence de suivi de test efficace

La capacité de gérer vos scenarii de test avec TBreq est une solution idéale pour vos environnements de test. L’exigence de suivi de test de TBreq permet aux organisations de créer des liens entre les exigences et les données de test, afin que vous puissiez :

  • Définir des scenarii de test manuels et les relier aux exigences initiales
  • Instiguer et enregistrer les résultats du test effectué à l’aide des mesures de couverture du code associées
  • Comparer les résultats de différents tests effectués afin de voir ce qui a changé
  • Interroger les exigences pour connaître leur couverture et le statut de test

 

Avantages de TBreq

TBreq fournit les fonctions requises par les normes de qualité et de certification pour l’analyse à niveaux multiples et bidirectionnelle de l’impact et de la traçabilité des exigences :

  • Intégration aux outils de gestion des exigences les plus populaires afin d’ accroître la visibilité des exigences et d’introduire la traçabilité lors de la conception, du codage et des tests.
  • Génération d’une matrice de traçabilité des tests d’exigence.
  • Génération de spécification de test à partir du code source et des exigences, et génération de scénario de test automatique.
  • Intégration facile à LDRA Testbed (pour la révision de code, de qualité et de conception, et l’analyse de couverture de code) et à TBrun (pour le tests unitaires automatisé comprenant la génération d’un atelier de test, la génération de scenarii de test, la création de rapports de test, l’exécution de test d’hôte/cible et la régression de test).
  • Analyse de couverture du test des exigences et analyse de l’impact.
  • Détection automatique des modifications des exigences, du code source et des données de test.
  • Analyse de l’impact montant et descendant qui facilite la gestion des risques de régression.

 

Interfaces

TBreq est le moyen le plus facile de relier les exigences, la conception, le développement, les tests et le processus de vérification à vos outils de gestion des exigences et à votre chaîne d’outil de conception et de développement :

  • Outils de traitement de texte : Word, Excel, Access, PowerPoint, PDF etc...
  • Outils de gestion des exigences : DOORS, RequisitePro ou toute interface XML publiée.
  • Outils de gestion de projet : Microsoft Project.
  • Outils UML : Rhapsody, Artisan, Rose, etc...
  • Outils de modélisation et de conception : Simulink, Statemate, SCADE, STOOD, etc...
  • Fichiers de code : C, C++, C#, Ada, etc...
  • Outils de gestion de configuration : ClearCase, CVS, PVCS, Dimensions, SYNERGY/CM, etc.
[retour haut de page]

TBsafe

Le test logiciel de code à haute intégrité nécessite une plus grande analyse du code source et un plus grand degré de couverture pour prouver la conformité aux organismes de certification. Pour cela, on peut utiliser l’option de test supplémentaire de la suite d’outil LDRA : TBsafe.

TBsafe offre aux développeurs, testeurs et gestionnaires de logiciels à haute intégrité un ensemble d’outils d’analyse pour tester rigoureusement leur code selon des normes exactes telles que D0-178B, Def Stan 00-55 et IEC 61508. La solution TBsafe est particulièrement adaptée pour obtenir la certification d’organismes externes.

Caractéristiques :

Analyse de flux d’informations

Ce module est à la fois un outil de documentation très efficace et un excellent détecteur de défaillances. Cependant, pour détecter des défaillances, l’utilisateur doit savoir quelles doivent être les dépendances. De plus, les modifications de ces dépendances suite à la maintenance peuvent faire ressortir des altérations incorrectes.

Analyse sémantique exacte

Lorsqu'elle est utilisée conjointement avec l’analyse de couverture dynamique, les assertions sont vérifiées avec un ensemble de chemins extrêmement étendu. Elle peut également servir de système de production de diagnostics.

Couverture MC/DC

Grâce à cette couverture supplémentaire, essentielle pour la certification DO-178B de niveau B, vous pourrez cibler les éventuelles erreurs et avoir une plus grande confiance dans le code lors du test des conditions.

Sous-ensembles sûrs

Les sous-ensembles sûrs pour les applications à haute intégrité ont été conçus car l’utilisation de certaines fonctions standards d’un langage de programmation peut être dangereuse, ex. l'attribution de mémoire dynamique à une cible qui dispose d'une attribution de mémoire fixe risque d’épuiser la mémoire disponible. LDRA Testbed utilise un système de vérification pour signaliser l’utilisation de fonctions de langages inappropriées.

Couverture dynamique du flux de données

La couverture dynamique du flux de données produit une liste de référence des variables qui documente leur emplacement dans le(s) fichier(s) source(s) ou le système testé et leur type. Ensuite, le module mappe les informations de couverture sur chaque entrée de variable de la table pour les ensembles de données actuels et combinés.

[retour haut de page]

MISRA-C:2004

Qu’est-ce que le standard MISRA-C:2004 ?

En 1998, la Motor Industry Software Reliability Association (MISRA), a publié le document "Guidelines for the use of C language in vehicle based software" (Directives sur l’utilisation du langage C dans les logiciels pour véhicules). Ce document a été établi afin de promouvoir l’utilisation d’un langage C sûr "safe C" dans l’industrie automobile pour les systèmes correspondants au niveaux d’intégrité 2 ou 3 tels qu'ils sont définis par le standard MISRA-C.

Ce standard a été largement accepté au sein de l’industrie automobile. Il est également utilisée dans d’autres secteurs de l’industrie pour la mise en œuvre du concept de bonnes pratiques lors de la création de code sécuritaires ou de systèmes commerciaux critiques.

Le standard MISRA-C:2004 a été abondamment révisé par l’industrie et les revendeurs d’outils travaillant en partenariat. En tant que fournisseur principal d’outils d’analyse de conformité au standard MISRA-C, LDRA a participé à cet exercice de collaboration et a étendu sa suite d’outil afin d’inclure les nouvelles directives révisées du standard MISRA-C:2004.

 

Application des directives MISRA-C:2004 avec la suite d’outil LDRA

La suite d'outils LDRA peut être configurée avec des fonctions d’analyse supplémentaires afin d’automatiser le contrôle du code source et de respecter les règles de codage MISRA-C:2004.

Ce processus peut être initié lors des tests unitaires, de système ou d’intégration pour s'assurer de la conformité aux normes tout au long du cycle de développement logiciel, permettant ainsi aux développeurs et aux chefs de projet de bénéficier d'une adoption plus rapide du standard dans le cadre de projets nouveaux ou existants.

La suite d'outils LDRA localise et met en évidence les zones du code non conformes pour faciliter la documentation et la modification. Les rapports et visualisations graphiques détaillés permettent de mieux comprendre le code source, facilitant ainsi l’amélioration de la testabilité, de la compréhension et de la maintenance, conformément aux directives MISRA-C:2004.

La suite d'outils LDRA permet aussi de prendre des mesures de couverture afin de s’assurer que les tests de logiciel sont mesurés et maintenus, comme le recommandent le standard MISRA-C:2004.

 

Cette suite d’outils est-elle facile à utiliser?

La facilité d’utilisation de la suite d’outil est un élément clé lorsqu'on l'intègre à un projet. La suite d'outils LDRA a été spécifiquement améliorée afin de mesurer facilement la conformité au standard MISRA-C:2004. Les rapports sont spécifiquement adaptés pour offrir aux utilisateurs des informations rapides et concises sur le standard MISRA-C:2004, ce qui permet d'accélérer la procédure de test. Les rapports peuvent être produits au format ASCII ou HTML. Ces deux formats sont faciles à incorporer dans un logiciel de traitement de texte ou un système DTP. Le format HTML présente l’avantage d’offrir des liens permettant d’accéder à la documentation MISRA, et la capacité de publier les résultats sur Internet ou sur un réseau Intranet.

Vous pourrez trouver des informations afin d'obtenir un exemplaire du jeu de règles de codage MISRA-C:2004, ainsi que sur l'ensemble des publications MISRA, à l'adresse suivante : www.misra.org.uk.

"MISRA" est une marque déposée de la Motor Industry Research Association, détenue par le consortium MISRA. Certains passages de ce document sont des copyrights © The Motor Industry Research Association, 1998, 1999.

[retour haut de page]

RTCA/DO-178B (EUROCAE/ED-12B)

Qu’est-ce la norme RTCA/DO-178B ?

Les considérations logicielles concernant les exigences en matière de certification d’équipements et de systèmes embarqués RTCA/DO-178B (norme avionique internationale pour les systèmes de sûreté critique) imposent des exigences d’analyse de couverture dynamique très strictes. La suite d'outils LDRA fournit un ensemble complet de capacités d'analyse puissantes afin d'aider les entreprises à travers le monde à répondre aux exigences de la norme DO-178B.

Etant donné que l'application de la norme DO-178B est de plus en plus répandue, il est essentiel que le choix de l'outil soit basé sur l'expertise, la suite d'outils LDRA fournit une solution qui a fait ses preuves et qui a aidé des systèmes embarqués mais aussi au sol à respecter la norme DO-178B.

 

Sélection d’outil

Lorsque vous choisissez un outil pour être conforme à la norme DO-178B, vous devez prendre en compte les critères suivants :

  • Est-ce que cet outil permet d’analyser les exigences d’analyse de couverture structurelle, telles qu’elles sont décrites dans la section 6.4.4.2 de la norme?
  • Cet outil est-il disponible pour une large gamme de langages de programmation ?
  • Cet outil a-t-il déjà été utilisé de cette manière avec succès ?
  • Le fournisseur vous aidera-t-il dans la qualification d'outil ?
  • Le fournisseur est-il suffisamment flexible et généralisé pour répondre à vos exigences de modification ?
  • Cet outil est-il facile à utiliser ?

La réponse de LDRA à toutes ces questions est OUI.

 

Assistance flexible

La norme DO-178B évolue en réponse à l’expérience acquise par la FAA lors de la mise en place de la norme à des applications dans le monde réel. LDRA possède les compétences et l’expertise nécessaires pour adapter la suite d’outils LDRA à ces exigences de modification et s’efforce de fournir une suite d’outils efficace qui vérifie la conformité à la norme aujourd’hui, mais aussi dans le futur.

Par exemple, la FAA exige actuellement des informations de couverture sur les combinaisons de constructions que seule la suite d’outil LDRA peut mesurer. De plus, il se peut que la norme DO-178B nécessite la couverture de la fonction XOR impliquée dans le langage C. LDRA s'engage déjà auprès de ses clients actuels à satisfaire cette exigence, si cela est le cas.

 

Exigences de l’analyse de couverture structurelle de la norme DO-178B

Vous trouverez ci-dessous un extrait pertinent de la norme DO-178B :

6.4.4.2 Analyse de couverture structurelle

L’objectif de cette analyse est de déterminer quelle structure de code n’a pas été examinée par les procédures de test basées sur les exigences. Il se peut que les scenarii des test n’ait pas examiné complètement la structure de code. Par conséquent, une analyse de couverture et une vérification supplémentaire sont nécessaires pour fournir une couverture structurelle. L’assistance inclut :

L’analyse doit confirmer le degré de couverture structurelle approprié en fonction du niveau de logiciel.

L’analyse de couverture structurelle doit normalement être exécutée sur le code source. Si une vérification de niveau A de la norme DO-178B est requise, l’analyse supplémentaire doit être effectuée sur le code objet afin de vérifier l’exactitude des séquences de code générées par le compilateur. La suite d'outils LDRA permet d’exécuter ces deux analyses.

L’analyse doit confirmer le couplage de données et le couplage de contrôle entre les composants du code.

Ces exigences sont résumées ci-dessous :

Elément
Description
DO-178B Réf. n°
DO-178B Niveau A
DO-178B Niveau B
DO-178B Niveau C
5
La couverture structurelle MC/DC est assurée 6.4.4.2
X
Non requis
Non requis
6
La couverture structurelle de décision est assurée 6.4.4.2.a
6.4.4.2.b
X
X
Non requis
7
La couverture structurelle d’instruction est assurée 6.4.4.2.a
6.4.4.2.b
X
X
O
8
Le couplage de données et de contrôle est assuré 6.4.4.2.c
X
X
O

Légende : X : l'objectif doit être atteint avec indépendance - O : l'objectif doit être atteint.

Remarque : Les éléments 5, 6, 7 et 8 ne sont pas requis pour la norme DO-178B de niveau D.

 

Mesures de couverture de la norme DO-178B de la suite d’outil LDRA

La suite d'outils LDRA offre le critère de mesure de couverture, tel qu’il est défini par la norme DO-178B :

Mesure de la norme DO-178B niveau A :

  • Couverture de condition/décision modifiée (MC/DC)
  • Couverture de branche/décision (TER2)
  • Couverture d’instruction (TER1)

Mesure de la norme DO-178B niveau B :

  • Couverture de branche/décision (TER2)
  • Couverture d’instruction (TER1)

Mesure de la norme DO-178B niveau C :

  • Couverture d’instruction (TER1)

Autres mesures de couverture :

  • Couverture LCSAJ (TER3)
  • Couverture de condition de branchement (BCC)
  • Couverture de condition de branchement combinée (BCCC)

La suite d'outils LDRA est actuellement le seul outil d’analyse qui permet de respecter la norme DO-178B de manière si complète.

Veuillez noter aussi qu’il n’existe actuellement aucun autre outil offrant les capacités d’analyse requises pour tester le code assembleur conformément à la norme DO-178B.

 

Cette suite d’outil est-elle facile à utiliser?

La facilité d’utilisation de la suite d’outil est un élément clé lorsqu'on l'intègre à un projet. La suite d'outils LDRA a été spécifiquement améliorée afin de mesurer facilement la conformité aux différents niveaux de la norme DO-178B. Les rapports sont spécifiquement adaptés pour offrir aux utilisateurs des informations rapides et concises sur la norme DO-178B, ce qui permet d'accélérer la procédure de test. Les rapports peuvent être produits au format ASCII ou HTML. Ces deux formats sont faciles à incorporer dans un logiciel de traitement de texte ou un système DTP. Le format HTML présente l’avantage d’offrir des liens et la capacité de publier sur Internet ou sur un réseau Intranet.

Vous pourrez trouver des informations afin d'obtenir un exemplaire de la norme DO-178B sur le site web de RTCA, à l'adresse suivante : www.rtca.org.

[retour haut de page]
















Accueil - Temps réel - Bus de terrain - Informatique Industrielle - Certification
Contact Newsletter - Plan du site -
-