Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire

Conformité des logiciels ISO 26262 dans l'industrie automobile

MISRA C 2023

MISRA C est un ensemble de directives de codage pour le langage de programmation C. L'objectif de la norme est d'accroître la sécurité des logiciels en empêchant de manière préventive les programmeurs de commettre des erreurs de codage pouvant entraîner des échecs d'exécution (et d'éventuels problèmes de sécurité) en évitant les constructions de problèmes connus dans le langage C.

Au fil des ans, de nombreux développeurs de systèmes embarqués se sont plaints (et se plaignent toujours) du fait que la norme MISRA C était trop stricte et que le coût de l'écriture d'un code entièrement conforme était difficile à justifier. De manière réaliste, étant donné que la norme MISRA C est appliquée aux logiciels critiques pour la sécurité, la valeur de l'application de la norme à un projet dépend de facteurs tels que :

  • Risque de dysfonctionnement du système en raison d'une défaillance logicielle
  • Coût d'une défaillance du système pour l'entreprise
  • Outils de développement et plateforme cible
  • Niveau d'expertise du développeur

Les programmeurs doivent trouver un terrain d’entente pratique qui satisfasse l’esprit de la norme tout en revendiquant la conformité MISRA sans gaspiller leurs efforts sur des activités sans valeur ajoutée.

Conformité MISRA C

Dans le document « MISRA Compliance: 2020 », le Consortium MISRA fournit la réponse dont la communauté a besoin avec un cadre bien défini de ce que signifie réellement la déclaration « MISRA Compliant ».

Le document aide les organisations à utiliser un langage commun articulant les exigences de conformité en définissant les artefacts suivants :

Icône à l'intérieur d'un cercle bleu montrant un contour blanc d'une liste de contrôle des directives.

Le plan d'application des lignes directrices 

Démontre comment chaque ligne directrice MISRA est vérifiée.

Icône à l'intérieur d'un cercle bleu montrant un contour blanc d'une liste de contrôle des directives.

Le plan de recatégorisation des lignes directrices

Communique la gravité convenue des règles individuelles dans les lignes directrices dans le cadre de la relation fournisseur/client.

Icône à l'intérieur d'un cercle bleu montrant un contour blanc d'une liste de contrôle des directives.

Le rapport des écarts

Documente les violations des directives avec une justification appropriée.

Icône à l'intérieur d'un cercle bleu montrant un contour blanc d'une liste de contrôle des directives.

Résumé de la conformité aux lignes directrices

Il s’agit du principal enregistrement de la conformité globale du projet.

Quand d'abord introduire MISRA C dans un projet, généralement lorsque le code existe déjà, le document clé est le plan de recatégorisation des directives. Ce document capture toutes les directives, les règles et identifie les catégories qui ont été recatégorisées. Cependant, il est important d'avoir la même catégorisation rationnelle également pour le code nouvellement développé. Par exemple, le diagramme suivant montre une partie d'un plan de recatégorisation.

Rapport de conformité MISRA
Rapport de conformité MISRA
Le document de conformité « MISRA C 2023 » déconseille de reclasser les classifications d’une classification moins stricte à une classification plus stricte. En outre, il est possible de ne plus appliquer les règles consultatives après avoir examiné les types de violations avec l’équipe.

L'obligation de documenter les écarts n'est nécessaire que pour toutes les règles obligatoires. Toute violation du code adopté doit être examinée. Les écarts doivent clairement indiquer que les violations ne compromettent pas la sécurité et la sûreté. Indépendamment de la recatégorisation, si une constatation compromet la sécurité ou la sûreté du système est constatée, le problème doit être résolu. De plus, les modifications apportées au code existant peuvent introduire d'autres problèmes que le développeur n'a pas clairement perçus.

Bannière bleu foncé avec l'image d'un homme parlant à une femme tenant une tablette à la main dans une salle de serveurs.
Image d'un homme et d'une femme avec une tablette à la main en train de discuter dans une salle de serveurs.

Améliorez vos tests logiciels avec les solutions Parasoft.