Aviation civile

Développement et test de logiciels pour l'aviation civile

Outils de test de logiciels de l'aviation civile Parasoft,
Confiance depuis plus de 30 ans

Les logiciels d'avionique nécessitent une sécurité et une fiabilité absolues. Depuis plus de 30 ans, Parasoft aide les organisations à respecter des normes rigoureuses grâce aux meilleures pratiques requises telles que les tests unitaires, la couverture du code structurel, la couverture du code objet, les mesures logicielles, l'analyse de code statique et les rapports de traçabilité des exigences. Dans l'aviation civile, les organisations s'appuient sur DO-178C (pour les systèmes aérospatiaux commerciaux basés sur des logiciels) et DO-278 (pour les systèmes basés sur des logiciels de communication, de navigation, de surveillance et de gestion du trafic aérien). Dans les industries militaires et de défense, où il n'y a pas de spécifications de certification strictes, certaines organisations se portent volontaires pour adapter les normes DO-178/278 comme une voie éprouvée vers une sûreté et une sécurité suffisantes pour les logiciels créés. Parasoft fournit une solution intégrée pour aider les organisations à se conformer à des Normes DO-178.

Aborder le développement logiciel moderne d'aujourd'hui
Défis de l'aviation civile

Protégez-vous contre les risques de sécurité

La sécurité devient un problème sérieux pour l'aérospatiale et l'avionique de défense. La menace d'interférence malveillante dans le logiciel d'un avion volant est un véritable scénario, que les équipes de développement doivent prévoir et prévenir à une époque marquée par le terrorisme. La solution axée sur la sécurité de Parasoft permet aux équipes d'obtenir les commentaires critiques nécessaires pour garantir la mise sur le marché d'un logiciel robuste et sécurisé.

Suivez les meilleures pratiques de développement et de test recommandées par l'industrie

Face à la complexité croissante des systèmes avioniques, les organisations peuvent utiliser des normes de codage pour garantir la création d'un code sûr et sécurisé, ainsi que des pratiques de développement et de test de logiciels supplémentaires imposées par les normes réglementaires utilisées dans l'aérospatiale et la défense. Parasoft aide les équipes avec ces techniques requises, telles que le développement basé sur des modèles, les tests basés sur les exigences, les tests unitaires et d'intégration, et la surveillance de la couverture de code ou d'assemblage / objet.

Réduisez la complexité en utilisant un outil unifié

Le respect de toutes les recommandations des normes réglementaires nécessite un cadre composé de plusieurs outils logiciels qui peuvent échanger des informations, par exemple pour préparer des rapports et de la documentation. Au lieu d'essayer d'intégrer divers outils logiciels indépendants, ce qui devient souvent un cauchemar et consomme un temps précieux qui pourrait être consacré au développement de produits de base, les organisations peuvent tirer parti de l'outillage unifié du test Parasoft C / C ++, qui a été construit avec une vue d'ensemble en esprit. Le test Parasoft C / C ++ est prêt à être déployé dans les projets les plus complexes.

Les solutions de Parasoft pour l'aviation civile

La conformité logicielle des aéronefs commence par les normes de génie logiciel et les meilleures pratiques, complétées par des spécifications pour la certification des avions. Le test Parasoft C / C ++ est une boîte à outils intégrée pour le développement et les tests C et C ++ qui prend en charge un large éventail de bonnes pratiques éprouvées pour améliorer la sécurité et la fiabilité des logiciels en avionique.

Le test Parasoft C / C ++ automatise l'analyse statique C et C ++ et les tests unitaires / composants sur l'hôte et la cible avec une couverture de code complète prenant en charge plusieurs niveaux de DO-178B / C. L'analyse statique comprend une prise en charge intégrée de toutes les normes populaires utilisées dans les logiciels aéronautiques, comme MISRA C et JSF AV C ++.

Parasoft aide les organisations à se conformer à DO-178B / C, qui exige explicitement que le code source créé soit conforme aux normes de code logiciel (DO-178C, 5.3.2.b). Toutes les organisations souhaitant se conformer à DO-178C doivent démontrer la conformité aux normes du code.

À cette fin, le test Parasoft C / C ++ aide les équipes à se conformer à plusieurs normes de codage et à améliorer la qualité du code. Le test Parasoft C / C ++ fournit un ensemble de vérificateurs intégrés (règles) pour vérifier la conformité aux normes telles que JSF, MISRA C 2012, MISRA C ++ 2008, AUTOSAR C ++ 14 et HIC ++.

« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.

Le test Parasoft C / C ++ aide les organisations à promouvoir des modèles de codage sécurisés et à se conformer aux normes de codage de sécurité. Le test C / C ++ fournit l'ensemble le plus complet de vérificateurs intégrés (règles) du marché pour vérifier la conformité à des normes telles que CERT C, CERT C ++, UL 2900 et CWE.

Le test Parasoft C / C ++ détecte les problèmes complexes de type runtime au début de la phase de développement en analysant les chemins d'exécution à travers le code et en trouvant des bogues potentiels. En plus de plus de 2200 règles et vérificateurs, Parasoft permet aux équipes de vérifier facilement les directives de codage spécifiques à l'organisation, avec un éditeur spécial pour créer des vérificateurs personnalisés pour étendre (ou remplacer) les règles intégrées fournies avec l'outil. Avec le test Parasoft C / C ++, les utilisateurs n'ont pas à écrire de scripts et les directives de codage spécifiques à l'organisation peuvent être entièrement automatisées pour remplacer le processus manuel de vérification de la conformité.

DO-178C ne répertorie pas explicitement les tests unitaires comme une méthode de test obligatoire. Cependant, la norme exige que la couverture de test des exigences de bas niveau soit atteinte (DO-178C 6.4.4.b). Dans la plupart des cas, les tests unitaires sont le moyen le plus pratique d'atteindre cet objectif.

Le test C / C ++ réduit l'effort lié à la création et à la maintenance des cas de test unitaires en réduisant la quantité de scripts requis et en fournissant des vues et des éditeurs graphiques pratiques pour simplifier le processus.

La conception du cadre de test unitaire du test C ++ est créée en tenant compte des tests logiciels critiques pour la sécurité. Les stubs et cas de test avec des valeurs pour la stimulation du logiciel testé peuvent être créés sous forme de code source ou avec des éditeurs graphiques avec des capacités de génération de code source. Les utilisateurs peuvent stocker et examiner les artefacts de test créés avec les fichiers du projet. L'initialisation des variables et des paramètres d'entrée pour la stimulation logicielle testée se fait exactement de la même manière que lors du fonctionnement du logiciel de production, pour une approche supérieure.

Le test C / C ++ peut être utilisé pour exécuter des tests unitaires sur la plate-forme hôte, le simulateur de processeur cible ou sur la cible intégrée. Cette flexibilité permet aux développeurs d'exécuter fréquemment des tests dans leur IDE et dans le pipeline CI / CD, où des simulateurs sont généralement utilisés, ainsi qu'avec du matériel réel, à des fins de conformité DO-178C. Le harnais de test du test Parasoft C / C ++ a été optimisé pour prendre un minimum de frais supplémentaires pour l'empreinte binaire et les cycles de processeur. Des intégrations dédiées avec des IDE et des débogueurs intégrés rendent le processus d'exécution des cas de test unitaires fluide et automatisé.

Les tests unitaires deviennent beaucoup plus faciles et productifs s'ils peuvent être utilisés avec un framework de stubbing / mocking. Le puissant module de test Parasoft C / C ++ pour créer des stubs et des simulations peut aider à l'injection de fautes ou aux tests de robustesse (DO-178C 6.4.2.2), réduire les dépendances du code testé ou simplement stuber le code source non encore implémenté .

DO-178C exige explicitement la réalisation de la couverture de test de la structure du logiciel (DO-178C 6.4.4.c) pour se conformer à la norme. Parasoft C / C ++test prend en charge toutes les métriques de couverture requises par DO-178C (instruction, branche, MC / DC), et plus (chemin, condition simple, ligne, bloc, fonction, appel). L'outil présente les résultats de couverture de code de tous les niveaux de test, y compris les tests au niveau de l'unité, de l'intégration et du système.

Le test Parasoft C / C ++ réduit le temps nécessaire pour analyser les résultats de la couverture et trouver les lacunes dans le processus de test. Les développeurs peuvent examiner les résultats de la couverture de code dans l'EDI avec des vues dynamiques et filtrer les résultats en fonction de la métrique, de la fonction / méthode ou du cas de test spécifique.

L'outil de couverture d'assemblage de Parasoft (ASMTool) satisfait les recommandations de code d'objet exécutable définies par DO-178B / C niveau A. Avec peu d'effort, ASMTool peut générer des rapports de couverture structurelle à partir du code d'objet exécutable. La couverture structurelle est rapportée avec un aperçu facilement révisable du code généré par le compilateur qui n'est pas directement traçable aux instructions de code source. Il suit également les instructions de commutation, fournissant un aperçu complet des chemins d'exécution des tests au niveau des instructions du langage machine.

ASMTool prend également en charge la collecte de la couverture structurelle à partir du processus d'intégration logicielle (test du matériel cible) et de l'environnement de développement de bureau (Parasoft C / C ++test pour les tests unitaires).

Les rapports de traçabilité des exigences du test Parasoft C / C ++ aident les organisations à se conformer à la DO-178C, qui énumère explicitement les tests basés sur les exigences comme objectif (DO-178C 6.4.4.1). Parasoft s'intègre au système de gestion des exigences de l'équipe pour fournir des rapports de traçabilité qui affichent la corrélation entre les exigences et le
Suivante à la suite:

● Code source créé pour mettre en œuvre ces exigences.
● Des cas de test créés pour tester les exigences.
● Résultats des tests exécutés et résultats de la couverture du code.

Les rapports de traçabilité fournissent des informations claires et complètes sur l'avancement du développement, et les équipes peuvent facilement déterminer le nombre d'exigences déjà implémentées et leur degré de test.

DO-178C introduit 5 niveaux de logiciel (SL) A à E. Le niveau de logiciel d'un système est déterminé pendant le processus d'évaluation de la sécurité, en fonction de la condition de défaillance qui peut résulter du comportement anormal du logiciel. Le niveau logiciel A représente le niveau le plus strict avec les pratiques les plus rigoureuses requises dans le développement et les tests de logiciels aérospatiaux.

Pour prendre en charge la qualification des outils telle que décrite dans DO-178C / DO-330, le test Parasoft C / C ++ est pris en charge par un kit de qualification dédié, qui automatise le processus de qualification de l'outil, guidant les utilisateurs à travers toutes les étapes nécessaires pour effectuer la qualification et produire documentation nécessaire. Un outil d'assistance à la qualification dédié automatise la majorité du travail manuel fastidieux requis pour qualifier l'outil, y compris l'exécution des cas de test à partir de la suite de tests exhaustive fournie et la génération des rapports finaux nécessaires pour documenter le processus de qualification.

Bénéficiez de l'approche Parasoft

Réduisez le coût de développement de logiciels de haute qualité, sans sacrifier le temps de mise sur le marché.

Plusieurs méthodologies de test intégrées dans un seul outil

Au lieu de plusieurs solutions fragmentées, le test Parasoft C / C ++ satisfait plusieurs méthodologies de test logiciel requises par DO-178C, y compris la couverture du code objet. L'exhaustivité de la solution de Parasoft se traduit par un effort d'apprentissage et de configuration réduit, dans lequel les développeurs n'ont pas à apprendre plusieurs outils et peuvent se concentrer sur leurs activités principales. Les intégrateurs d'outils ou les architectes en bénéficient également, ce qui permet de gagner du temps autrement nécessaire pour implémenter des interfaces entre les outils pour échanger des données ou générer des rapports uniformes.

Rapports avancés et
analytique

Le système sophistiqué de reporting et d'analyse de Parasoft s'intègre à l'ensemble de la boîte à outils de test pour une intégration des données à l'échelle de l'équipe, des rapports pratiques et des analyses avancées. Le Process Intelligence Engine de Parasoft regroupe les informations pertinentes provenant de différentes sources, telles que le code source, les systèmes de gestion des exigences, les outils de test et les ALM, pour fournir une analyse de données supérieure qui aide les équipes à concentrer leurs efforts de la manière la plus productive et à augmenter la productivité en surveillant les tendances du développement. traiter.

Kit de qualification dédié
pour DO-178C

Le test Parasoft C / C ++ est pris en charge avec un kit de qualification dédié DO-178C conforme aux spécifications standard pour le processus de qualification des outils. Au lieu de simplement fournir une assistance à la qualification sous la forme d'une collection de cas de test et de modèles pour les scripts et les rapports, qui nécessitent beaucoup de personnalisation, l'outil de support de qualification automatisé de Parasoft guide les utilisateurs à travers toutes les étapes nécessaires pour qualifier l'outil et automatise la majorité. du travail manuel fastidieux requis pour qualifier l'outil. Cela comprend l'exécution des cas de test à partir de la suite de tests exhaustive fournie ainsi que la génération des rapports finaux nécessaires pour documenter le processus de qualification.

"Le test Parasoft C / C ++ est devenu la base d'une
développement de logiciels chez Schaeffler Technologies AG et a
facilitait un développement et une maintenance efficaces dans le temps
d'une portée et d'une complexité toujours croissantes. "

- Schaeffler Technologies SA