Optez pour une voie plus rapide et plus intelligente vers l'automatisation des tests C/C++ pilotée par l'IA. Découvrez comment >>
Comment MISRA C 2025 relève les défis de l'IA et de Rust
Découvrez les principales mises à jour de MISRA C 2025, le rôle de l'IA dans la génération de code, la popularité croissante de Rust et l'impact de ces changements sur les développeurs et les organisations.
Aller à la section
Découvrez les principales mises à jour de MISRA C 2025, le rôle de l'IA dans la génération de code, la popularité croissante de Rust et l'impact de ces changements sur les développeurs et les organisations.
Directives MISRA C Depuis des décennies, ils constituent la référence en matière de sûreté, de sécurité et de fiabilité des systèmes embarqués. Cela est particulièrement vrai pour des secteurs comme l'automobile, l'aérospatiale, les dispositifs médicaux et l'automatisation industrielle. Avec la publication de MISRA C 2025, les directives de codage continuent d'évoluer, répondant aux défis modernes tels que le code généré par l'IA et l'intérêt croissant pour Rust comme alternative au C/C++.
MISRA C 2025 est un perfectionnement progressif de MISRA C 2023Les principaux changements visent à améliorer la sécurité et l’expérience des développeurs.
Les lignes directrices comprennent quatre nouvelles règles qui traitent des risques émergents en matière de codage.
Deux règles ont été intégrées à d'autres règles. Elles ont donc été supprimées lors de la refonte de l'organisation des règles. De plus, la règle consultative controversée exigeant un point de sortie unique dans les fonctions, qui semblait avoir disparu, est devenue facultative.
Trois règles ont été renumérotées pour une meilleure organisation et treize règles ont été modifiées pour refléter les meilleures pratiques actuelles et clarifier les ambiguïtés.
La règle de sortie unique est un élément essentiel de la MISRA depuis des décennies. Historiquement liée aux anciennes pratiques de programmation modulaire, cette modification, qui la rend facultative, prend en compte les pratiques modernes de programmation structurée et reflète l'évolution de la MISRA vers une approche pratique sans compromettre la sécurité.
Cette règle est issue de la programmation assembleur, où les sauts pouvaient se produire n'importe où. Mais dans les langages structurés modernes comme le C, chaque retour se fait en toute sécurité vers l'appelant. Certaines organisations l'appliquent encore, c'est pourquoi le groupe de travail MISRA l'a conservée, mais elle est désormais facultative.
La loi MISRA C 2025 a également introduit davantage de flexibilité pour les développeurs dans les domaines suivants.
Comment les directives MISRA s'appliquent-elles au code généré par l'IA ? C'est une question urgente dans le développement logiciel.
La MISRA accorde traditionnellement une certaine indulgence au code généré automatiquement, par exemple celui généré par Simulink ou Stateflow. Elle a depuis longtemps adopté des mesures d'adaptation à ce code, le reclassant comme « non appliqué » pour faciliter la conformité.
En revanche, le comité MISRA soumet le code généré par l'IA à des programmes de master, comme GitHub Copilot, aux mêmes normes que le code écrit par l'homme. Le comité MISRA souligne que le code d'IA ne bénéficie pas des garanties déterministes des générateurs basés sur des modèles, ce qui signifie qu'il peut introduire des risques imprévisibles et nécessite un examen plus approfondi. De ce fait, il nécessite des analyses statiques, des évaluations par les pairs et des tests unitaires. Ces méthodes de test sont d'ailleurs obligatoires.
L'IA peut contribuer à corriger les violations de la MISRA. Des solutions comme Parasoft C/C++test s'intègrent à GitHub Copilot et ajoutent des conseils contextuels, en intégrant la documentation des règles et en utilisant le raisonnement par chaîne de pensée pour générer des correctifs conformes.
En bref, la solution d'analyse statique de Parasoft intègre l'IA, en la reliant à la conformité pour effectuer les opérations suivantes :
Les développeurs doivent toujours examiner les suggestions de l’IA, mais le processus accélère la correction tout en maintenant la conformité.
La MISRA a publié deux nouveaux addenda au-delà des lignes directrices de base.
Alors que le langage de programmation Rust gagne du terrain dans les systèmes critiques pour la sécurité, beaucoup se demandent si la MISRA développera des directives à ce sujet.
Bien que l'addendum 6 explore comment les règles C/C++ existantes pourraient être transposées à Rust, son modèle de propriété et ses fonctionnalités de sécurité mémoire nécessitent de nouvelles règles spécifiques au langage. La communauté Rust travaille activement sur des normes de sécurité, qui pourraient déboucher sur une future directive MISRA Rust.
La norme MISRA C 2025 affine la norme avec des mises à jour qui privilégient l'aspect pratique sans compromettre la sécurité. Voici quelques points importants.
La norme MISRA C 2025 démontre comment les normes de sécurité doivent évoluer parallèlement à la technologie. En s'attaquant au code généré par l'IA, en réexaminant les règles obsolètes et en explorant la compatibilité avec Rust, la norme MISRA garantit son maintien comme cadre de confiance pour les logiciels critiques.
Pour les développeurs, c'est clair : l'automatisation et l'IA peuvent faciliter le codage, mais la supervision humaine et des tests rigoureux restent indispensables. À mesure que le secteur évolue, rester informé et adaptable sera crucial pour maintenir l'innovation et la sécurité.
Trouvez et corrigez les violations de code C/C++ plus rapidement grâce à l'analyse statique basée sur l'IA
« 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.