Simplifiez les flux de travail de conformité avec le nouveau test C/C++ 2024.2 et l'automatisation pilotée par l'IA | Inscrivez-vous

Automatisez le processus de qualification des outils pour les logiciels critiques en matière de sécurité

Portrait de Ricardo Camacho, directeur de la conformité de la sûreté et de la sécurité
16 novembre 2023
5 min lire

En utilisant le kit de qualification d'outils de Parasoft pour le test C/C++, vous pouvez automatiser le processus et réduire la charge de travail nécessaire à la qualification des outils pour le développement de logiciels. Lisez la suite pour savoir comment.

Développement de logiciels critiques pour la sécurité normes, telles que DO-178C (aérospatial), ISO 26262 (automobile), IEC 62304 (médical), et EN 50128 (sécurité fonctionnelle), exigent des fabricants qu'ils prouvent que les outils qu'ils utilisent pour développer leurs logiciels fournissent des résultats corrects et prévisibles. Le processus permettant de fournir de telles preuves est connu sous le nom de qualification des outils. Bien qu'il s'agisse d'un processus nécessaire, la qualification des outils est souvent une activité fastidieuse et chronophage que de nombreuses organisations ne parviennent pas à planifier.

Le livrable final est une preuve sous forme de documentation, mais le processus de qualification ne se limite pas à la simple fourniture d'une grande pile de documentation statique. Dans cet article, nous verrons comment utiliser le kit de qualification de Parasoft pour le test C/C++, qui comprend un assistant d'outil pratique qui intègre l'automatisation et réduit le temps et les efforts requis pour la qualification des outils.

Premièrement : assurez-vous que votre outil de développement est certifié

Qualification d'outils doit commencer par la sélection des outils, en vous assurant que vous utilisez un outil de développement certifié par une organisation telle que TÜV SÜD. Cela réduira considérablement les efforts en matière de qualification des outils. Le test Parasoft C/C++ est certifié par TÜV SÜD pour la sécurité fonctionnelle conformément aux normes CEI 62304, EN 50128, CEI 61508 et ISO 26262 pour les applications cibles basées sur l'hôte et intégrées, ouvrant la voie à une qualification rationalisée de l'analyse statique, des tests unitaires et des exigences de couverture de code pour la sécurité fonctionnelle- normes critiques.

Deuxièmement : rationaliser le processus de qualification des outils

Traditionnellement, la qualification des outils impliquait un travail manuel important, des tests et une documentation des outils de développement pour satisfaire à un audit de certification. Cependant, ce processus lourd en documentation nécessite une interprétation et une réalisation manuelles et, en tant que tel, prend du temps et est sujet aux erreurs humaines.

Nous résolvons ce problème en automatisant ce processus avec notre kit de qualification d'outils. L'augmentation de la productivité et la réduction des erreurs humaines grâce à l'automatisation ont toujours été au cœur de ce que nous faisons chez Parasoft, nous avons donc appliqué cette même mission au processus de qualification des outils pour le test Parasoft C/C++. Notre kit de qualification d'outils guide l'utilisateur à travers un flux de travail intuitif pour réduire considérablement l'effort requis.

Les avantages de l’utilisation des kits de qualification d’outils incluent :

  • Réduire automatiquement le champ de qualification aux seules parties de l’outil utilisé
  • Automatisez au maximum les tests requis pour la qualification
  • Gérez tous les tests manuels avec autant d'éloquence que possible et intégrez les résultats aux tests automatisés
  • Générez automatiquement une documentation prête pour l'audit qui rend compte exactement de ce qui est qualifié, ni plus ni moins !

Qualifiez uniquement ce que vous utilisez

Pourquoi obliger les développeurs à passer au crible le matériel de qualification pour DO-178C alors qu'ils travaillent sur un projet automobile nécessitant la norme ISO 26262 ?

Que se passe-t-il si l'équipe n'utilise que certaines parties de la solution de test C/C++ de Parasoft ?

Il ne devrait pas être nécessaire d'effectuer de travail supplémentaire pour qualifier les capacités non utilisées dans vos produits de développement. Réduire la portée des tests, des rapports et de la documentation est un moyen essentiel de réduire la charge de travail de qualification.

L'exemple ci-dessous montre un utilisateur sélectionnant le seul cas d'utilisation du test C/C++ utilisé (analyse statique) pour vérifier la conformité avec les MISRA C 2023 norme, dans le cadre de la qualification ISO 26262. L'outil sélectionne ensuite uniquement les parties du kit de qualification nécessaires à cette fonction. Il existe cinq normes de sécurité fonctionnelle prises en charge pour la qualification.

Capture d'écran du kit de qualification de test Parasoft C/C++ montrant les options de sélection de norme et de niveau pour la qualification : ISO 26262 (sélectionné), CEI 61508, EN 50128, DO 178C, DO 330.Capture d'écran du kit de qualification de test Parasoft C/C++ montrant les options de liste pour les cas d'utilisation : conformité JFS, conformité MISRA C 2023 (sélectionnée), analyse statique - personnalisée, tests unitaires avec couverture de branche, tests unitaires avec couverture MC/DC, tests unitaires avec couverture de déclaration.

Les utilisateurs peuvent désélectionner les options pour réduire davantage la portée selon les besoins de leur projet. Lors de la sélection, seuls les tests et la documentation sont utilisés et fournis à partir de ce moment.

Capture d'écran de la sélection des fonctionnalités de test Parasoft C/C++ montrant les résultats d'un projet d'analyse des normes de codage.

Tirer parti de l’automatisation et de l’analyse des tests

S'il y a un avantage à qualifier les outils d'automatisation des tests, c'est que les outils peuvent être utilisés pour automatiser leurs propres tests. La qualification de l'outil nécessite que des tests soient exécutés et que les résultats soient vérifiés comme indiqué dans les kits de qualification que nous fournissons. Automatiser cela autant que possible est essentiel pour le rendre aussi indolore que possible. Même les tests manuels, inévitables pour tout outil de développement, sont traités aussi efficacement que possible. Des instructions étape par étape sont fournies et les résultats sont saisis et stockés dans le cadre du dossier de qualification.

Parasoft C/C++test collecte et stocke tous les résultats des tests de chaque build, et les tests s'exécutent comme ils le font pour tout type de projet. Ces résultats sont introduits dans l'assistant d'état des tests dans le kit de qualification de l'outil Parasoft pour fournir un aperçu complet des résultats :

Capture d'écran de l'état du test à partir de la chaîne d'outils avec le test C/C++ montrant l'état des cas de test exécutés.

La centralisation, le regroupement et l'automatisation du processus de qualification réduisent considérablement le suivi manuel des progrès en matière de conformité.

Remédier aux défauts connus

Chaque outil de développement comporte des bogues connus et tout fournisseur qui ne les documente pas ne rend pas service à vos efforts de conformité. Mais le traitement des défauts connus ne se résume pas à leur simple documentation. La qualification des outils nécessite que vous apportiez la preuve que ces défauts n'affectent pas les résultats utilisés dans le projet. Pour chaque défaut connu, vous devez fournir une atténuation et la documenter à la satisfaction de l’auditeur certificateur.

Il incombe à l'éditeur d'outils d'automatiser autant que possible le traitement des défauts connus. Après tout, nous demandons aux clients de gérer nos bugs dans le cadre de leur charge de travail ! Le kit de qualification de test Parasoft C/C++ comprend un assistant pour automatiser l'enregistrement de l'atténuation des défauts connus, comme indiqué ci-dessous :

Capture d'écran du test C++ montrant la fenêtre de sélection d'atténuation avec une liste des erreurs pertinentes affichées.

Automatisez la documentation dont vous avez besoin

Le résultat de la qualification des outils est la documentation et bien d’autres choses encore. Chaque test exécuté avec des résultats, chaque défaut connu avec atténuation, les résultats des tests manuels et les exceptions sont tous enregistrés et signalés. Les kits de qualification d’autres fournisseurs peuvent n’être qu’une simple documentation, et sans automatisation, documenter la conformité est très fastidieux.

Au lieu de cela, à l'aide des kits de qualification pour le test C/C++, les documents critiques sont générés pour vous dans le cadre du flux de travail.

  • Rapport de classification des outils. Détermine la qualification nécessaire et présente la classification du niveau de sécurité maximum pour le test C/C++ en fonction des cas d'utilisation sélectionnés par l'utilisateur.
  • Plan de qualification des outils. Décrit comment le test C/C++ sera qualifié pour être utilisé dans un projet de développement pertinent pour la sécurité.
  • Rapport de qualification des outils. Démontre que le test C/C++ a été qualifié conformément au plan de qualification de l'outil.
  • Manuel de sécurité des outils. Décrit comment le test C/C++ doit être utilisé en toute sécurité, par exemple, le respect des normes de sécurité telles que ISO 26262, CEI 61508, etc., dans les projets critiques pour la sécurité.

Dans chacun de ces documents, seule la documentation requise pour les fonctionnalités de l'outil en cours d'utilisation est générée, puisque la portée de la qualification a été réduite au début du projet. L'automatisation et la réduction de la portée de la qualification réduisent considérablement le fardeau de la documentation.

Conclusion

Qualification d'outils pour les projets logiciels critiques pour la sécurité automobile, l'aéronautique, le ferroviaire et la sécurité fonctionnelle est un processus fastidieux. Réduire le champ de qualification et automatiser autant que possible le processus est essentiel pour réduire la charge de travail et la pénibilité de la qualification. Le kit de qualification d'outils Parasoft pour Test C / C ++ rend cela aussi simple et efficace que possible pour réduire considérablement le fardeau de nos clients, afin qu'ils puissent recommencer à fournir des produits de haute qualité à leurs clients.

Un guide pratique pour accélérer la conformité MISRA C 2023 avec l'automatisation des tests

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