Les normes de codage C++ sont essentielles pour les ingénieurs logiciels qui souhaitent garantir que le logiciel qu'ils développent est de haute qualité, sûr et robuste. Elles fournissent des lignes directrices précieuses pour le développement logiciel, il est donc important de les connaître. Dans ce billet, nous allons explorer quatre grandes normes de codage C++ prises en charge par CppDepend.
CERT, ou Computer Emergency Response Team, est un ensemble de lignes directrices conçu pour aider les organisations et les développeurs à créer des logiciels sûrs et de haute qualité. Il fournit des conseils sur les bonnes pratiques pour développer du code C++ sécurisé, notamment la gestion des erreurs, les questions de sécurité et le style de codage.
Par exemple, CERT recommande que tout logiciel soit développé avec un style de codage sécurisé et que tout le code soit testé avant d'être mis en production.
Après avoir analysé votre projet avec CppDepend, rendez-vous dans la section Queries and Rules Explorer et sélectionnez les règles CERT C++ dans le menu de gauche (surligné en rouge dans l'image ci-dessous). Toutes les règles CERT C++ associées s'afficheront alors à droite. En cliquant sur une règle, la requête CQLinq correspondante et le code source concerné seront automatiquement générés. De plus, la section Metrics View fournit une visualisation de l'emplacement et de l'importance du problème.

MISRA, ou Motor Industry Software Reliability Association, est un ensemble de normes de codage conçu spécifiquement pour l'industrie automobile. Elle se concentre sur les logiciels critiques pour la sécurité et fournit des conseils pour atténuer les failles de sécurité potentielles, telles que les dépassements de tampon et les dépassements d'entiers.
Par exemple, MISRA recommande que toutes les variables soient déclarées avec leurs types et que tout le code soit testé par rapport aux normes de codage reconnues.
Après avoir analysé votre projet avec CppDepend, rendez-vous dans la section Queries and Rules Explorer et sélectionnez les règles MISRA dans le menu de gauche (surligné en rouge dans l'image ci-dessous). Toutes les règles MISRA associées s'afficheront alors à droite. En cliquant sur une règle, la requête CQLinq correspondante et le code source concerné seront automatiquement générés. De plus, la section Metrics View fournit une visualisation de l'emplacement et de l'importance du problème.

AUTOSAR, ou Automotive Open System Architecture, est un framework open source pour le développement d'applications embarquées dans les véhicules. Il vise à fournir un environnement d'exécution sûr et sécurisé pour les applications et comprend un ensemble de lignes directrices pour concevoir des logiciels sécurisés.
Par exemple, AUTOSAR recommande que tout le code soit testé pour détecter les vulnérabilités de sécurité potentielles et que les développeurs utilisent des techniques de codage sécurisé pour atténuer ces vulnérabilités.
Après avoir analysé votre projet avec CppDepend, rendez-vous dans la section Queries and Rules Explorer et sélectionnez les règles AUTOSAR C++ 2014 dans le menu de gauche (surligné en rouge dans l'image ci-dessous). Toutes les règles AUTOSAR C++ 2014 associées s'afficheront alors à droite. En cliquant sur une règle, la requête CQLinq correspondante et le code source concerné seront automatiquement générés. De plus, la section Metrics View fournit une visualisation de l'emplacement et de l'importance du problème.

CWE, ou Common Weakness Enumeration, est un catalogue des faiblesses logicielles qui peut être utilisé pour identifier et traiter les problèmes de sécurité. Il fournit des descriptions des faiblesses et de leurs risques associés, ainsi que des conseils sur la manière de les corriger.
Par exemple, CWE suggère que tout le code soit testé pour détecter les failles de sécurité potentielles et que les développeurs utilisent des techniques de codage sécurisé pour les corriger.
Après avoir analysé votre projet avec CppDepend, rendez-vous dans la section Queries and Rules Explorer et sélectionnez les règles CWE dans le menu de gauche (surligné en rouge dans l'image ci-dessous). Toutes les règles CWE associées s'afficheront alors à droite. En cliquant sur une règle, la requête CQLinq correspondante et le code source concerné seront automatiquement générés. De plus, la section Metrics View fournit une visualisation de l'emplacement et de l'importance du problème.

Cas d'usage
Prenons par exemple une application logicielle qui utilise une base de données. Ces normes de codage peuvent être appliquées conjointement comme suit :
- Les lignes directrices CERT recommanderaient que le code soit testé pour détecter toute faille de sécurité potentielle et que des techniques de codage soient utilisées pour les atténuer.
- MISRA recommanderait que toutes les variables soient déclarées avec leurs types et que tout le code soit testé par rapport aux normes de codage reconnues.
- AUTOSAR recommanderait que le logiciel soit testé pour détecter les vulnérabilités de sécurité potentielles et que des techniques de codage sécurisé soient utilisées pour les corriger.
- Enfin, CWE suggérerait que tout le code soit testé pour détecter les failles de sécurité potentielles et que des techniques de codage sécurisé soient utilisées pour les corriger.
En suivant ces normes de codage C++, les organisations et les développeurs peuvent contribuer à garantir que le logiciel qu'ils développent est sûr, de haute qualité et robuste. Il est important de comprendre chacune de ces normes et la manière dont elles peuvent être utilisées ensemble pour rendre le logiciel aussi sûr et fiable que possible.
Envisagez de télécharger CppDepend pour vérifier que vos projets respectent les normes de codage établies.
