Webinaire en vedette : MISRA C++ 2023 : tout ce que vous devez savoir | Voir le séminaire

Prise en charge complète de MISRA C 2023 et MISRA C++ 2023

Les développeurs utilisent largement les règles MISRA et la conformité aux normes de codage dans des entreprises autres que l'industrie automobile, telles que les dispositifs médicaux et médicaux, l'armée, l'aérospatiale, l'automatisation industrielle, le rail et l'énergie. Les normes fournissent un ensemble de directives pour l'écriture de code C et C++ embarqué et facilitent le développement de code sûr, sécurisé et portable pour les systèmes critiques pour la sécurité.

Obtenez la couverture la PLUS ÉTENDUE pour la conformité MISRA C ! EN SAVOIR PLUS >> 

Qu'est-ce que MISRA?

La Motor Industry Software Reliability Association (MISRA) fait référence à la norme de codage largement adoptée et légendaire pour les langages C et C++. MISRA fournit un ensemble complet de directives de codage qui se concentrent sur la protection des applications contre les violations de sécurité et les vulnérabilités de sécurité connues. L'Association classe les lignes directrices en tant que « règle » ou « directive ».

Une règle est accompagnée d'une description complète de l'exigence de codage et, grâce à une analyse statique, les développeurs peuvent l'utiliser pour vérifier que le code source est conforme à une directive sans avoir besoin de rechercher d'autres informations. Une directive, en revanche, offre une prescription importante ou des conseils de développement à suivre pour les développeurs lorsqu'il leur est généralement impossible d'effectuer un contrôle de conformité.

MISRA est un consortium d'industries liées à l'automobile qui s'est réuni au début des années 1990 à la suite du programme de recherche sur les systèmes critiques pour la sécurité du Royaume-Uni. Le gouvernement britannique a institué ce programme pour relever certains des défis auxquels l'industrie automobile est confrontée en raison de l'utilisation croissante de logiciels par les constructeurs automobiles et de camions dans la fabrication et l'exploitation des véhicules routiers. Parasoft est membre du groupe de travail MISRA C et MISRA C++.

Membre du groupe de travail MISRA

EXPERT MISRA

Michel Rozenau

Michal Rozenau a été un membre actif du groupe de travail MISRA C et MISRA C++.

La couverture MISRA la plus étendue

Expertise MISRA

En tant que participant aux groupes de travail C et C++ de MISRA développant activement MISRA, Parasoft aide à définir la norme et s'engage à effectuer rapidement des mises à jour de produits. Les clients bénéficient des dernières technologies pour réduire continuellement les coûts et fournir des logiciels sûrs, sécurisés, fiables et conformes.

MISRA C 2023

MISRA C 2023 consolide MISRA C 2012 et tous les amendements et rectificatifs publiés à ce jour. La norme prend en charge le langage de programmation C, versions C90, C99, C11 et C18. Parasoft C/C++test prend entièrement en charge MISRA C 2023 et l'a mis à la disposition des équipes de développement de logiciels cherchant à garantir le déploiement d'un code conforme à la dernière norme de codage en matière de sûreté et de sécurité.

MISRA C++ 2023

MISRA C++ 2023 fait progresser la lignée que MISRA C++ 2008 et AUTOSAR C++ 14 ont lancée pour prendre en charge le langage de programmation C++, C++17. Le test Parasoft C/C++ offre une couverture à 100 % de cette nouvelle norme. Avec Parasoft C/C++test, les ingénieurs logiciels ont la possibilité d'analyser le code C++ moderne et de garantir que les applications qui utilisent C++17 et C++20 sont les plus sûres et les plus sécurisées possibles.

« 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.

Voulez-vous en savoir plus?

Regarder le webinaire à la demande »

Avantages de MISRA

Lorsque les développeurs implémentent les directives MISRA, cela les aide à fournir un code sûr, sécurisé et fiable qui présente des avantages éternels. La conformité MISRA a un impact sur le succès et la longévité de votre produit tout en réduisant les coûts de main-d'œuvre et les délais de mise sur le marché.

Augmentez la qualité du code et réduisez le coût des défauts.

Prévenez les défauts de code plus tôt dans le processus de développement de produits avant qu'ils ne se transforment en défis plus coûteux sur toute la ligne.

Satisfaire aux normes de processus de l'industrie.

Parasoft propose l'analyse statique MISRA comme solution recommandée par les normes de processus telles que ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128, etc.

Répondez aux tests de sécurité d'analyse statique (SAST).

Intégrez les règles et directives du code de sécurité MISRA directement dans votre cycle de vie de développement logiciel dans le cadre de votre stratégie SAST.

Développez MISRA et créez vos propres directives de codage personnalisées.

Créez votre propre configuration de normes de codage personnalisée pour votre organisation à l'aide de notre RuleWizard.

Combinez des normes de codage telles que CERT avec MISRA pour obtenir la qualité de code optimale.

Parasoft propose l'agrégation de normes telles que MISRA avec toutes nos autres normes de codage prises en charge : CERT, CWE, OWASP, UL 2900 et autres.

Intégrez MISRA SA dans votre workflow CI/CD.

L'analyse statique MISRA de Parasoft s'intègre facilement dans votre pipeline CI/CD rationalisé avec des tests continus qui fournissent rapidement des logiciels de haute qualité, sûrs et sécurisés.

Testez plus intelligemment avec l'IA et le ML.

Parasoft intègre l'intelligence artificielle et l'apprentissage automatique pour améliorer la productivité dans le flux de travail d'analyse statique MISRA de votre équipe, en signalant et en hiérarchisant les violations de règles que l'équipe doit corriger en premier.

Solutions pour aider à répondre aux exigences MISRA

Déployez la suite de produits Parasoft pour effectuer une analyse statique du code, quel que soit l'environnement de développement dans lequel vous travaillez.

Parasoft C/C++test exécute une analyse statique en s'intégrant étroitement à votre environnement de développement C et C++, en détectant les défauts de manière précoce et en appliquant automatiquement la conformité aux normes de l'industrie. Il permet la conformité aux normes MISRA C:2023, MISRA C:2012, MISRA C++:2023, AUTOSAR C++14, JSF, HIC++, CERT C/C++, et CWE Top 25 et On the Cusp.

Conçu pour briller dans le framework Agile DevOps et DevSecOps moderne, Jtest fonctionne dans l'environnement de développement Java. Déployez cette solution de test pour exécuter des vérificateurs de qualité du code Java et vous conformer à une suite de normes de sécurité et de sûreté fonctionnelles. Jtest permet et aide à se conformer aux normes OWASP, CWE Top 25 et On the Cusp, et PCI DSS.

Prenant en charge l'environnement de développement Microsoft, dotTEST garantit la qualité du code et la conformité aux normes de l'industrie. Il permet la conformité aux normes OWASP, CWE Top 25 et On the Cusp, et PCI DSS.

Meilleures pratiques de conformité MISRA

En ce qui concerne la conformité à la MISRA, nous recommandons plusieurs pratiques très avantageuses. Voici une liste de quelques-unes des méthodes à considérer.

Effectuer des évaluations de code/par les pairs

En plus de la conformité MISRA, réunissez-vous avec vos collègues ingénieurs en logiciel et vérifiez systématiquement le code de chacun pour détecter les erreurs et les violations de style de codage. L'expérience montre que cette activité accélère la production et améliore sensiblement la qualité du code.

Clarté du code

La conformité MISRA vous aide à écrire un code facile à lire et à comprendre. Ne soyez pas trop malin et n'écrivez pas de code crypté difficile à suivre ou facilement mal compris. Vous ne voulez pas que d'autres ingénieurs ou vous-même passiez beaucoup de temps à essayer de déchiffrer un bogue dans votre code.

Robustesse du code

Lorsque vous atteignez la conformité MISRA, cela vous aide à écrire un code fiable qui gère non seulement les scénarios de journée ensoleillée, mais également les jours de pluie. Cela inclut des scénarios négatifs qui préparent votre application si elle rencontre des données invalides.

Portabilité des codes

La conformité MISRA aide les programmeurs à écrire du code en gardant à l'esprit la portabilité, car le code portable, comme POSIX et ANSI C, permet des déplacements faciles et rapides vers d'autres plates-formes. Les développeurs peuvent adapter d'autres compilateurs ou d'autres systèmes d'exploitation avec un minimum de modifications de code. Souvent, il existe des opportunités financières ou commerciales lors de la migration vers un autre système d'exploitation ou une autre cible.

Complexité du code

La conformité MISA aide les codeurs à écrire du code qui n'a pas un grand nombre de branches. Plus il y a de branches, plus la complexité du code est élevée et plus le nombre de bogues potentiels dans le code est élevé.

Réutilisabilité du code

La conformité MISRA vous aide à écrire du code portable que vous pouvez réutiliser dans de futurs produits ou projets. Cela améliore la productivité et réduit les coûts de main-d'œuvre et de test.

Consignez correctement vos écarts

Tout écart de la directive MISRA nécessite une documentation complète sur la directive, la portée, la justification, l'assurance de sécurité, les conséquences et l'atténuation.

Réduire le bruit MISRA

Les codeurs peuvent écrire certaines constructions de code d'une manière qui déclenche une violation MISRA. Parasoft fournit une méthode pour filtrer sciemment ce bruit.

Adopter la conformité MISRA

L'un des avantages de proposer la conformité MISRA est que les équipes de sécurité peuvent introduire et utiliser les directives à n'importe quelle phase de développement logiciel d'un projet, et les directives sont efficaces même si un projet est incomplet et partiellement codé.

Le plus grand défi de l'introduction de la conformité MISRA est qu'une grande quantité de code peut produire un grand nombre d'avertissements. Par conséquent, les entreprises doivent se concentrer sur la productivité de l'équipe dès que possible lors de l'intégration de la conformité MISRA dans un projet.

Les entreprises doivent également se concentrer sur la réduction de la possibilité que les avertissements d'analyse statique submergent l'équipe. À mesure que la conformité MISRA fait partie de la routine quotidienne des développeurs, ceux-ci peuvent analyser les résultats plus rapidement et corriger les bogues plus efficacement.

Considérations relatives à la maturité du produit

Il est également important de prendre en compte la maturité du produit en cours de développement, car cela a un impact sur la manière dont l'entreprise peut adopter la conformité MISRA.

Projet existant sur le marché

La principale approche pour adopter la conformité MISRA pour ces projets est appelée « reconnaître et différer ». Étant donné que les développeurs ajoutent peu de nouveau code, tous les bogues de sécurité et vulnérabilités de sécurité qu'ils découvrent s'ajoutent à la dette technique existante.

Projet existant avec développement actuel

L'approche recommandée pour la conformité à la MISRA est appelée approche « une ligne dans le sable ». À un niveau élevé, cette approche signifie que les développeurs améliorent le nouveau code au fur et à mesure qu'ils le développent tout en différant les avertissements moins critiques en tant que dette technique.

Nouveau projet

Les développeurs peuvent intégrer la conformité MISRA dans leurs environnements de développement dès le départ, garantissant ainsi un code de qualité élevée au fur et à mesure qu'ils l'écrivent. L'approche de l'adoption, dans ce cas, porte à juste titre le nom de "greenfield".

Exemple de rapport de conformité automatisé

Tableau de bord analytique de Parasoft avec rapports de conformité automatisés. Pour les applications critiques pour la sécurité, vous voudrez utiliser notre solution certifiée TÜV SÜD sur les systèmes critiques pour la sécurité.

Pourquoi Parasoft?

Parasoft C / C ++test détecte les problèmes complexes de type runtime de conformité MISRA dès le début de la phase de développement, sans qu'il soit nécessaire d'exécuter des tests d'exécution coûteux. Le test C/C++ analyse les chemins d'exécution à travers le code et détecte les problèmes de conformité MISRA, tels que le déréférencement de pointeur nul, la division par zéro, les fuites de mémoire et les vulnérabilités de sécurité, telles que l'arithmétique sur un opérande de pointeur, les débordements de tampon, le code inaccessible et fonction système stdlib.

Les utilisateurs peuvent afficher les résultats de la conformité MISRA de C/C++test dans le tableau de bord de reporting dynamique de Parasoft, permettant un post-traitement automatisé et des stratégies de reporting avancées utilisant des données historiques. Il est facile de voir les résultats de la conformité MISRA à travers les versions au fil du temps, même lorsque vous travaillez avec des bases de code volumineuses et du code hérité où la visibilité dans le code est généralement difficile afin que vous puissiez rapidement vous concentrer sur la qualité du code nouvellement ajouté.

Avec des widgets qui suivent automatiquement la conformité MISRA, les utilisateurs obtiennent une vue dynamique du processus de conformité logicielle et peuvent facilement produire des rapports automatiques pour les audits de code et les objectifs de certification.

Foire aux Questions