Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
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 :
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.
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.
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.
Explorez les chapitres