Webinaire en vedette : MISRA C++ 2023 : tout ce que vous devez savoir | Voir le séminaire

Temps de lecture: 3 minutes

Vue d'ensemble

QinetiQ Space NV est la division spatiale belge de QinetiQ Corporation, basée au Royaume-Uni, spécialisée dans le développement de produits de haute fiabilité déployés dans l'environnement hostile de l'espace, notamment l'avionique, la propulsion électrique, les instruments de recherche en microgravité, les systèmes robotiques, la sécurité spatiale, l'exploration spatiale, la télédétection et les systèmes de petits satellites.

Le projet

Avec leurs produits en constante augmentation en termes de quantité de logiciels utilisés et de complexités impliquées, la direction de QinetiQ a reconnu le risque croissant de failles système causées par des bogues logiciels, et la nécessité d'une détection précoce des effets secondaires indésirables d'une nouvelle implémentation. L'entreprise avait besoin d'un moyen de gérer de manière fiable la qualité des logiciels de ses produits.

L'approche

QinetiQ Space gère le développement de produits spatiaux de haute fiabilité, du concept aux opérations en orbite. Pour rendre cela possible, le département Electronique et Génie Logiciel (ESE) dispose d'ingénieurs soucieux d'écouter, de comprendre et de répondre aux besoins de leurs clients. Pour le développement de logiciels embarqués, les membres de l'équipe sont spécialisés dans le développement d'applications logicielles critiques pour la sécurité, allant des chargeurs de démarrage, des pilotes de périphériques de bas niveau, des protocoles de communication, des services système et des logiciels d'application en temps réel.

Pour gérer la quantité considérable de logiciels utilisés et la complexité de ces systèmes critiques pour la sécurité déployés dans l'environnement hostile de l'espace, la direction a identifié le besoin d'outils de contrôle qualité pour éviter la perte de qualité du produit ou la satisfaction du client. L'organisation choisie Parasoft C / C ++test pour atténuer ces risques, notamment pour, entre autres, effectuer MISRA Analyse de code statique C/C++, conception et exécution de logiciels bonnes pratiques de tests unitaires, et mesurer la couverture des tests.

Pourquoi Parasoft?

Par rapport aux autres outils pris en compte dans l'évaluation, la suite d'outils de Parasoft était plus complète. Parce que C/C++test intègre toutes les fonctionnalités requises dans une seule application (en évitant le besoin d'avoir d'autres outils), l'équipe de développement logiciel QinetiQ profite de l'utilisation d'une seule interface utilisateur qui prend en charge la navigation des problèmes identifiés en quelques clics de souris. La capacité d'adopter des règles de codage en fonction des exigences de qualité logicielle spécifiques de leur organisation, pour lesquelles Parasoft fournit un support unique, était également importante pour l'équipe de sélection.

QinetiQ doit également répondre aux exigences strictes définies dans les normes européennes d'ingénierie logicielle et de qualité ECSS-E-ST-40C, ECSS-Q-ST-80C et EN 9100, et Parasoft C/C++test a pu les prendre en charge tout en présentant les fonctionnalités de contrôle de la qualité logicielle les plus attrayantes par rapport au rapport de coût. De plus, il est devenu évident que la suite d'outils était déjà largement acceptée par la communauté des développeurs de logiciels critiques pour la sécurité, ce qui a également contribué à la justification de leur choix.

Les Résultats

Utilisation continue du test Parasoft C/C++

Aujourd'hui, l'équipe du logiciel embarqué QinetiQ utilise le test Parasoft C/C++ pour :

  • Effectuer MISRA Analyse de code statique C/C++.
  • Concevoir et exécuter des tests unitaires logiciels.
  • Mesurer la couverture des tests.
  • Configurez les règles de codage en fonction des besoins du projet, comme la criticité du logiciel.
  • Effectuer la collecte de métriques sur le code source.
  • Rapport sur les résultats des tests unitaires et la couverture des tests.

QinetiQ utilise la suite d'outils de test Parasoft C/C++ depuis de nombreuses années pour le développement de logiciels embarqués allant des instruments scientifiques de la taille d'une boîte pour la Station spatiale internationale aux satellites de petite taille fonctionnant de manière autonome. Ils ont facilement intégré et mis à niveau la suite d'outils de test Parasoft C/C++ dans leur environnement de développement logiciel existant.

75% de réduction des rapports de problèmes logiciels

L'équipe logicielle de QinetiQ fournit des produits logiciels de haute qualité, fiables et « du premier coup », ce qui signifie que le produit doit fonctionner de manière sûre, robuste et correcte conformément à ses spécifications dans un environnement spatial distant et parfois inaccessible. Un cycle de vie évolutif est appliqué pendant le développement du produit pour y parvenir, où lors des jalons successifs de revue de projet, une qualité accrue du produit sera atteinte et démontrée. Au moment où le matériel du satellite est au-dessus du lanceur, le logiciel doit être prêt et validé.

QinetiQ a mesuré la valeur de l'utilisation du test Parasoft C/C++ en surveillant le nombre de rapports de problèmes logiciels (SPR) pendant le développement. Depuis l'intégration de Parasoft C/C++test dans leur processus de développement logiciel, ils ont observé une réduction significative des SPR émis pendant le développement logiciel, d'environ 75 %.

Auto-vérification

L'intégration de Parasoft C/C++test a également permis à l'équipe de développement d'auto-vérifier la qualité du code logiciel. L'auto-vérification est un atout important car elle exploite implicitement la qualité du logiciel tout en réduisant le temps de développement requis en raison de moins de bogues à résoudre après un cycle intermédiaire de vérification et de publication. Par conséquent, le coût global de développement de QinetiQ a été réduit et aucun défaut n'a été observé dans leurs produits après le déploiement, d'où une amélioration de la qualité du produit. (Notez que le développement de logiciels critiques exige une vérification rigoureuse du produit, donc « pas de défauts » signifie : 100 % de couverture de tests unitaires, 100 % de couverture de vérification des exigences, tests de sécurité logicielle dédiés par injection de défaillance et vérification/validation indépendantes de logiciels (ISVV).)

L'intégration de Parasoft C/C++test a également permis au responsable de l'assurance produit d'acquérir des métriques objectives de processus logiciel, ce qui a été utile pour démontrer aux clients de QinetiQ l'évolution de leur produit logiciel. Cela crée la confiance des clients, améliore les relations à long terme et renforce les futures entreprises.

« Le test Parasoft C/C++ fait désormais partie intégrante de nos activités critiques de développement logiciel. Son intégration dans notre processus de développement logiciel a entraîné une production plus efficace de code logiciel avec un rendement nettement plus élevé. Afin de maintenir notre efficacité de production et nos niveaux de qualité actuels, nous prévoyons que la solution fournie doit rester dans notre arsenal d'outils logiciels. Il est prévu d'utiliser la solution également pour le développement d'applications moins critiques.

– Peter Matthijs, architecte logiciel avionique

Passez à l'étape suivante

Découvrez un cadre efficace à utiliser lors de la sélection d'une solution d'analyse statique.

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

  • Industrie: Industrie aerospatiale
  • Site : Kruibeke, Belgique
  • Solution: Test C / C ++