Comment sélectionner le bon outil pour la conformité AUTOSAR C ++ à la prise en charge de la norme ISO 26262
Par Miroslaw Zielinski
25 juin 2019
5 min lire
Les équipes souhaitant rationaliser leurs efforts de conformité ISO 26262 en appliquant les directives de codage AUTOSAR C ++ auront plus de succès si elles sont bien informées lors de la sélection des outils d'analyse statique à utiliser dans leur projet. Lisez la suite pour quelques conseils sur le métier.
Le langage C, qui a dominé l'espace automobile pendant des années, n'est plus suffisant pour faire face à la complexité croissante des architectures logicielles automobiles, et avec l'exigence d'une conception orientée objet, C ++ est un choix naturel pour de nombreuses équipes automobiles. Mais C ++ est un langage compliqué et nécessite beaucoup d'efforts pour assurer la prévisibilité, la sûreté et la sécurité.
La norme de sécurité fonctionnelle automobile ISO 26262 fournit des conseils sur le développement de logiciels et les processus de V&V, mais elle ne va pas en profondeur au niveau des constructions de langage. Pour obtenir de tels conseils, les organisations se tournent vers des normes de codage telles que MISRA C / C ++ ou AUTOSAR C ++. Dans ce blog, je vais partager comment se conformer à ISO 26262 en utilisant un outil d'analyse statique configuré avec les vérificateurs de conformité AUTOSAR C ++ 14.
Comment utiliser AUTOSAR C ++ pour rationaliser la conformité ISO 26262
Le respect d'une norme de sécurité fonctionnelle comme ISO 26262 nécessite un effort important et doit faire partie intégrante du projet dès le début. Même dans le cas des composants logiciels, la conformité nécessite des activités spécifiques lors de la collecte, de la planification et de la mise en œuvre des exigences, et ce n'est certainement pas quelque chose qui peut être «ajouté plus tard».
L'ISO 26262 spécifie un ensemble de méthodes nécessaires pour se conformer à la norme. Pour revendiquer la conformité, les utilisateurs doivent fournir la preuve que toutes les exigences et méthodes applicables ont été mises en œuvre. Toutes les méthodes ne s'appliquent pas à tout le monde. L'applicabilité de la méthode dépend du niveau d'intégrité de la sécurité automobile (ASIL), qui est une classification de risque définie dans la norme (ASIL A représente le degré le plus bas et ASIL D le degré le plus élevé de risque automobile). La méthode peut être fortement recommandée, recommandée ou neutre.
Le défi auquel les équipes sont généralement confrontées lorsqu'elles tentent de se conformer à la norme est de savoir comment mettre en œuvre les méthodes recommandées pour leurs processus. La décision de se conformer à la méthode ou à l'exigence spécifique est souvent basée sur l'expérience de l'équipe. Dans certaines situations simples, les procédures manuelles et les revues peuvent être une réponse, mais dans la plupart des cas, les équipes essaient de trouver des outils capables d'automatiser les méthodes requises.
Un outil utilisé pour se conformer à la norme ISO26262 doit être approuvé pour l'utilisation prévue par le biais du processus formel appelé qualification d'outil. L'objectif de la qualification des outils logiciels est de fournir la preuve de l'adéquation de l'outil logiciel, à utiliser lors du développement d'un article ou d'un élément lié à la sécurité. Cela peut être une tâche fastidieuse et gourmande en ressources. (Si vous utilisez Parasoft C / C ++test , il est pris en charge par un kit de qualification automatisé qui rationalise le processus de qualification et comprend une certification TÜV SÜD qui, dans de nombreuses situations, est suffisante pour la qualification d'outils.
Comment la norme de codage AUTOSAR C ++ aide-t-elle?
Suivre une norme de codage comme AUTOSAR C ++ est une méthode largement acceptée pour satisfaire certaines des exigences issues de l'ISO 26262. AUTOSAR C ++ 14 fournit les tableaux de traçabilité qui mappent les principes et recommandations ISO 26262 aux directives de codage appropriées. La cartographie couvre principalement la section 8 de la partie 6 de l'ISO 26262 et simplifie grandement le processus de mise en conformité avec les méthodes et exigences correspondantes de la norme.
Mais les directives de codage AUTOSAR C ++ 14 à elles seules ne sont pas suffisantes pour atteindre la conformité à la norme ISO 26262 pour le composant logiciel. Certaines méthodes de la norme ne peuvent pas être couvertes par l'application des directives AUTOSAR, telles que les méthodes 1g, qui recommande «l'utilisation de guides de style», ou la méthode 1h, qui recommande «l'utilisation de conventions de dénomination». AUTOSAR C ++ 14 n'inclut aucun guide de style ou convention de dénomination. Cependant, ces deux méthodes peuvent être facilement implémentées avec le test Parasoft C / C ++, qui comprend plus de 3000 vérificateurs d'analyse statique, y compris des vérificateurs de style de code, et fournit un module pour créer des règles d'analyse statique personnalisées. Les méthodes de la norme qui ne peuvent pas être implémentées avec l'analyse statique en général nécessitent d'autres techniques de test telles que les tests d'injection de défauts.
3 fonctionnalités clés dont vous avez besoin pour la conformité AUTOSAR C ++ 14
Bien sûr, cela nous amène à trouver le bon outil pour faciliter la conformité. L'introduction du processus de conformité aux normes de codage dans le flux de travail de développement de l'équipe n'est pas une tâche facile. En tant que tel, il est très important de sélectionner un outil qui aidera à atteindre la conformité sans imposer trop de frais généraux et sans l'exigence de procédures manuelles supplémentaires. Les points suivants sont des facteurs décisionnels importants lors du choix de la solution pour l'analyse statique.
1. Couverture des directives de codage de la norme
AUTOSAR C ++ 14 définit un nombre important de directives. La version la plus récente de la norme de codage AUTOSAR contient à l'heure actuelle environ 400 directives, dont 350 peuvent être appliquées avec l'analyse statique. La prise en charge de ce nombre de directives est un défi pour les fournisseurs d'outils d'analyse statique, et tous les outils d'analyse statique disponibles sur le marché ne couvrent pas suffisamment la norme pour la conformité. (Prise sans vergogne: Parasoft C / C ++test est la solution leader dans ce cas, couvrant le plus grand nombre de directives AUTOSAR C ++ et continuant à en implémenter davantage chaque jour.)
2. Prise en charge de la technologie d'analyse des données et des flux
Les directives définies dans la norme de codage AUTOSAR C ++ ont différents niveaux de complexité. Certaines sont des directives simples qui peuvent être appliquées avec une technologie d'analyse statique relativement simple, mais il existe également des directives qui nécessitent des données sophistiquées et une analyse de flux de contrôle pour simuler les chemins dans le code source analysé et décider si une directive donnée est violée ou non.
L'outil d'analyse statique que vous choisissez doit évaluer les chemins dans le code pour déterminer correctement si l'index utilisé pour accéder aux données dans le conteneur se trouve dans la plage correcte ou non. De nombreux outils commerciaux et la plupart des outils open source sur le marché appliquent une analyse de flux très rudimentaire à cette classe de problèmes, et en fait ils ratent un problème dans le code ou signalent un nombre énorme de faux positifs, ce qui prend énormément de temps. pour revoir et tuer la productivité. Lors de l'analyse comparative d'un outil d'analyse statique, je vous recommande vivement de porter une attention particulière à la comparaison des résultats pour des directives plus complexes, qui nécessitent une technologie d'analyse de flux.
3. Aide à la qualification des outils
Bien qu'AUTOSAR C ++ n'exige pas explicitement la qualification d'outil pour approuver la solution d'analyse statique à utiliser, ISO 26262 le fait. Ainsi, lorsque vous prévoyez d'utiliser AUTOSAR C ++ pour rationaliser la conformité à la norme ISO 26262, il est recommandé de choisir une solution d'analyse statique qui prend en charge les utilisateurs finaux avec des certificats appropriés et un kit de qualification.
Résumé
Suivre une norme de codage comme AUTOSAR C ++ 14 peut aider les organisations à se conformer à la norme ISO 26262, car il existe plusieurs méthodes et exigences définies dans la norme ISO 26262 qui peuvent être satisfaites en se conformant aux directives de codage AUTOSAR. AUTOSAR C ++ 14 fournit des tableaux de traçabilité dédiés qui démontrent la correspondance entre les exigences ISO 26262 et les directives de codage, et les équipes souhaitant rationaliser leurs efforts de conformité ISO 26262 en appliquant les directives de codage AUTOSAR C ++ auront plus de succès si elles sont bien informées lors outils d'analyse statique à utiliser dans leur projet.
« 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.