Outils d'analyse statique du code source
Détection des vulnérabilités et des erreurs d'exécution
CodeSonar
CodeSonar permet de vérifier l'adhésion du code source aux normes de codage logiciel"Safety" et"Security", comme l'exigent les principales normes de sécurité fonctionnelle.
Langages de programmation
Normes de sécurité
C 2012
C++ 2008
C++ 14, 2018
Normes de sécurité
C 2016
C++ 2016
CodeSonar comprend différents programmes qui détectent les erreurs potentielles au moment de l'exécution.
CodeSonar vous permet de vérifier que le code source développé est conforme aux normes de sécurité sélectionnées. Pour chaque norme, vous pouvez sélectionner les règles que vous souhaitez vérifier.
Le résultat final garantit une utilisation sûre du langage de programmation et la portabilité de l'application.
Détection des erreurs d'exécution
- Utilisation de pointeurs nuls
- Débordement de mémoire tampon
- Mémoire dynamique non libérée
- Problèmes de conversion des types
- Erreurs d'initialisation des variables
- Utilisation inappropriée des fonctions de la bibliothèque
- Détection de boucles et de cycles non valides
- Détection des codes morts
- Erreurs de simultanéité
- et bien d'autres ...
Caractéristiques différentielles de CodeSonar
Profondeur de l'analyse
L'un des facteurs de différenciation de CodeSonar est sa capacité à effectuer une analyse approfondie du code, y compris une analyse du flux de contrôle et du flux de données, ce qui permet d'obtenir des erreurs qui affectent différentes fonctions dans différents fichiers.
CodeSonar fait la distinction entre les erreurs et les avertissements de gravité différente. Une fois qu'une erreur est identifiée, la séquence d'appels de fonction qui la provoque ainsi que la déclaration et la condition dans lesquelles l'erreur se produit sont affichées. Ceci est marqué comme une séquence d'événements.
CodeSonar trouve des erreurs que d'autres outils d'analyse statique du code sont incapables de localiser.
Les chemins et l'arbre d'appel menant à l'erreur peuvent également être affichés.
Dans l'exemple montré d'une erreur d'initialisation d'une variable locale dans une fonction, CodeSonar détecte que l'erreur se produit dans quatre chemins d'exécution sur les six possibles.
Évolutivité : analyse distribuée
CodeSonar permet l'analyse de très grands référentiels de code source à un niveau très élevé de profondeur d'analyse grâce à la possibilité de répartir l'analyse sur plusieurs processus fonctionnant sur différents serveurs.
CodeSonar gère un processus Hub primaire pour l'analyse et la visualisation du web et, éventuellement, plusieurs processus Hub satellites. Les processus primaires et secondaires partagent la même base de données.
Intégration DevSecOpcs
CodeSonar s'intègre à divers environnements d'intégration continue : Jenkings, GitLab, GitHub, etc.
Le développeur peut visualiser et résoudre les problèmes de sécurité dans l'environnement CI/CD et accéder à des informations plus détaillées dans le Hub d' un simple clic de souris. En cas de détection d'une erreur, les défauts peuvent être ouverts dans des outils spécialisés tels que Jira. Le chef de projet ou les responsables de la qualité peuvent vérifier l'état de la sécurité à l'aide des rapports inclus dans l'environnement CI/CD. La charge d'analyse peut être répartie entre plusieurs processus fonctionnant sur différents serveurs.
CodeSonar gère un processus Hub primaire pour l'analyse et la visualisation web et, en option, plusieurs processus Hub satellites. Les processus primaires et secondaires partagent la même base de données.
Intégration avec d'autres outils
CodeSonar permet d'utiliser différents compilateurs croisés pour les architectures PowerPC et ARM. Il fournit également un assistant graphique pour définir les différents paramètres d'analyse et capturer toutes les informations nécessaires pour construire l'exécutable en utilisant la méthode de construction de chaque fournisseur.
Une fois que les informations sur le compilateur et l'éditeur de liens, les options de compilation, les répertoires d'inclusion et les macros de préprocesseur sont capturées, CodeSonar est capable d'analyser le code source en utilisant toutes ces informations.
Compilateurs pris en charge par CodeSonar
ARM Real View et Clang
Borland
Clang
CodeVision
Cosmique
Guerrier du code
Green Hills C/C++
GNU C/C++
Keil
Hi-Tech
IAR
Intel
Microsoft
MPLAB
QNX
Renesas
SHARC, Blackfin
Tâches
Texas Instruments
Rivière des vents
CodeSonar pour Java et C#
Détection des erreurs de sécurité
Injections
Cookies
Mots de passe
LDAP
Erreurs cryptographiques
Référence à des entités externes
et bien d'autres encore
Plates-formes C# prises en charge
MVC
L'unité
Formulaires Web
Formulaires Windows
Plates-formes Java prises en charge
Apache-CXF
AspectJ
EJB
JAX-RS
JAX-WS
JPA
JSF
Jersey
RESTeasy
RESTlet
Servlet
Printemps
Android