Zut ! Encore un plantage !!! Combien de fois n’avez vous pas prononcé cette phrase, face au blocage d’une application de bureautique bien connue ou face à un crash système ? Sur un ordinateur de bureau, ce type de désagrément n’a d’autre effet que de faire monter votre niveau d’énervement, mais dans le cas d’un système embarqué, les effets sont bien plus graves. Heureusement, Cppcheck est là pour vous aider.
Les langages C et C++ sont les langages les plus utilisés, et de loin, dans les systèmes embarqués. Il s’agit également de langages très permissifs et faiblement typés. Pour ces deux raisons, ils constituent la cible principale du consortium MISRA.
MISRA a eu comme objectif de donner naissance à un ensemble de recommandations et de règles de codage pour ces deux langages. Le résultat de ces travaux est décliné sous la forme de standards de règles de codage, les standards MISRA C et MISRA C++.
1. MISRA
1.1 Niveau de robustesse
Les règles MISRA ont pour finalité d’obtenir un code plus robuste. Le niveau de robustesse est donné par l’indicateur SIL (Safety Integrity Level), qui fournit un niveau relatif de réduction des risques attendus. Les recommandations MISRA ont pour objectif d’atteindre un niveau de sûreté SIL au moins égal à 2, sur une échelle qui en comporte 4. La page Wikipédia de SIL [1] résume bien cet indicateur.
Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
Déjà abonné ? Connectez-vous
Abonnez-vous maintenant |