Logo Parasoft

Découvrez le test Parasoft C/C++ en action !

Planifiez une démo personnalisée.

Démonstration de la plateforme

WEBINAIRE

Regardez MISRA C 2025 : Tout ce que vous devez savoir

Regardez Michal Rozenau, membre contributeur de l'équipe de développement de MISRA C 2025, donner un aperçu approfondi de MISRA C 2025.

MISRA C 2025 : Nouveautés et importance

La loi MISRA C 2025 s'appuie sur la loi MISRA C 2023 en affinant les directives de conformité, en supprimant les règles obsolètes et en renforçant les meilleures pratiques. Elle vise à réduire les frais de conformité en supprimant les règles obsolètes et en renforçant bonnes pratiques de codageEn particulier, la sécurité fonctionnelle est renforcée par des règles plus strictes sur les unions et les pointeurs, qui réduisent les risques de comportement indéfini. De plus, les développeurs bénéficient désormais d'une plus grande flexibilité pour mettre fin aux clauses de commutation, comme return et continue, ce qui leur permet de rationaliser les audits et d'éviter les retards.

Cette session montre également comment le test Parasoft C/C++ fournit une solution complète Conformité MISRA Couverture étendue et intégration transparente aux workflows de développement modernes. La prise en charge anticipée à 100 % de MISRA C 2025 par Parasoft garantit aux équipes l'adoption immédiate des dernières normes de codage, évitant ainsi des retouches coûteuses et permettant de conserver une longueur d'avance sur les marchés concurrentiels.

Faits saillants

  • Améliorations et nouvelles directives
  • Changements de politique
  • Clarification autour du code généré par l'IA
  • Intégration facile dans le pipeline CI/CD
  • Application de l'IA/ML brevetée pour la productivité

Comprendre l'analyse statique et le décalage vers la gauche

Analyse statique Il s'agit d'une méthode permettant de détecter les bugs et les problèmes de code en examinant le code source sans exécuter l'application. Cette méthode est utilisée dès le début du processus de développement, ce que l'on appelle souvent le « shifting left ». C'est important, car corriger les problèmes en amont est beaucoup plus économique et plus simple que de les corriger ultérieurement, surtout après la sortie du logiciel.

Au-delà de la simple détection de bugs, l'analyse statique contribue à maintenir des normes de codage élevées. C'est essentiel pour les systèmes où la sécurité est essentielle, comme dans les dispositifs médicaux, les avions et les véhicules autonomes. Des normes comme MISRA et AUTOSAR C++ 14 contribuent à cet objectif. Tous les outils ne prennent pas entièrement en charge ces normes, mais l'analyse statique de Parasoft le fait.

L'analyse statique est également automatisée et reproductible. Vous n'avez pas besoin d'écrire de cas de test spécifiques comme pour les tests unitaires ou d'intégration. Elle vous donne également un aperçu des indicateurs de qualité du code, comme la complexité et la lisibilité, ce qui aide les développeurs à s'améliorer globalement.

L'évolution de MISRA C : de 2023 à 2025

MISRA C est un ensemble de directives de codage populaires pour les applications critiques pour la sécurité, utilisées dans les secteurs de l'automobile, du ferroviaire, de l'aérospatiale, de la défense, du médical et de l'automatisation industrielle. La dernière version… MISRA C 2025, est une mise à jour incrémentielle de MISRA C 2023.

Voici un aperçu des changements :

  • Nouvelles règles: 4 nouvelles règles ont été introduites.
  • Règles supprimées : 2 règles ont été supprimées mais leurs pratiques sont couvertes par d'autres lignes directrices.
  • Règle non appliquée : 1 règle a été désactivée par défaut.
  • Règles renumérotées : 3 règles ont été déplacées vers des sections plus adaptées.
  • Règles modifiées : 13 règles ont été mises à jour.

Au total, la MISRA C 2025 contient 224 lignes directrices.

Principaux points à retenir des mises à jour de la MISRA C 2025

  • Nouvelles restrictions : Interdit les définitions provisoires dans les en-têtes et les déclarations externes des fichiers sources. La comparaison implicite de pointeurs vers null est désormais explicitement interdite. La lecture d'un membre d'union non défini est également interdite, à l'exception des membres de tableaux de caractères.
  • Conversion de pointeur en entier : La conversion des pointeurs en types entiers nécessite désormais une procédure de déviation explicite, la règle 11.4 passant de consultative à obligatoire.
  • Inclure les gardes : L'exigence d'identifiants de macro de protection d'inclusion uniques dans un projet est désormais plus claire.
  • Restrictions assouplies : Ne nécessite plus de définitions de type spécifiques pour les types à virgule flottante. Permet les conversions entre les pointeurs et les types entiers, ainsi que la conversion immédiate de la mémoire nouvellement allouée vers un type de pointeur spécifique.
  • Instructions Switch : Les clauses de commutation peuvent désormais être terminées par des instructions autres que break, comme appeler abort Ou en utilisant return.
  • Déclarations de retour multiples : La règle interdisant les instructions de retour multiples dans une fonction est désormais désactivée par défaut, reconnaissant que les langages structurés comme C ne violent pas le principe du point de sortie unique.

MISRA et code généré par l'IA

Pour garantir la qualité du code, MISRA traite le code généré par l'IA comme s'il était écrit à la main, de sorte que les mêmes directives de codage MISRA s'appliquent.