La norme Misra va intégrer les directives de codage Autosar C++

[EDITION ABONNES] Les deux principaux consortiums impliqués dans les directives de codage, à savoir Misra et Autosar, annoncent que leurs spécifications respectives vont converger au niveau des meilleures pratiques de codage en C++.... Objectif : fournir un ensemble de règles communes pour le développement de logiciels embarqués, notamment dans le domaine automobile.

En 2008, le consortium Misra, composé de fabricants, de fournisseurs de composants et de bureaux d’ingénierie, a publié Misra C++, un sous-ensemble du C++ décrivant les conseils d’un collège d’experts pour la programmation avec ce langage orienté objet. À partir de cette publication, le consortium Autosar, qui a développé une plate-forme logicielle complète pour la programmation des ECU automobiles, a commencé d'élaborer ses propres directives, décrites notamment dans les documents liés à la plate-forme logicielle Autosar Adaptive, mise à jour deux fois par an depuis mars 2017. Avec forcément des dérives par rapport aux directives initiales de Misra.

Dans ce cadre, et vu le poids pris par Autosar dans le monde automobile, Misra a donc décidé de fusionner les directives Autosar avec ses propres guides de meilleures pratiques (guidelines) pour élaborer un seul sous-ensemble pour les développements en C++. Ces directives seront compatibles avec la dernière version du langage C++, le C++17, et, le cas échéant, avec son successeur, le C++20.

Au-delà de l’automobile, ce document qui fournit un cadre documenté de l'utilisation du C ++ cible les domaines d'application des télécommunications, des appareils médicaux et de la Défense.

Rappelons que le consortium Misra a conçu au début des années 1990, dans le cadre du programme SafeIT du gouvernement britannique, des directives relatives aux logiciels embarqués dans les systèmes électroniques des véhicules routiers. Depuis, le Misra C est devenu plus ou moins la norme de facto pour la programmation en C des applications industrielles dotées d’exigences élevées en termes de sécurité fonctionnelle.