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