Qu'est-ce que l'analyse statique du code ?

L'analyse statique du code consiste en une série de contrôles automatisés effectués sur le code source.

Un outil d'analyse statique analyse le code à la recherche d'erreurs et de vulnérabilités connues, telles que les fuites de mémoire ou les débordements de mémoire tampon. L'analyse peut également permettre de faire appliquer les normes de programmation.

Lorsque la sécurité est une priorité, des outils spécialisés dans les tests statiques de sécurité des applications (SAST) peuvent rechercher les failles de sécurité connues. L'analyse statique étant effectuée sur le code source, sans exécuter le programme, elle peut être lancée au tout début du pipeline CI/CD ou directement depuis votre IDE avant de valider vos modifications.

Comme toutes les formes de tests automatisés, l'analyse statique du code garantit la cohérence des contrôles et fournit un retour d'information rapide sur vos dernières modifications. Les outils d'analyse statique intégrés à votre IDE offrent un retour d'information immédiat et ciblé afin de résoudre les problèmes au fur et à mesure.

L'analyse statique ne peut toutefois identifier que les situations dans lesquelles les règles programmées sont enfreintes. Elle n'est pas capable de trouver toutes les failles uniquement en lisant la source. Il existe également un risque de faux positifs. Les résultats doivent donc être interprétés.

En ce sens, l'analyse statique du code est un complément précieux aux révisions de code, car elle met en évidence les problèmes connus et libère du temps pour des tâches plus intéressantes, comme l'examen de la conception et de l'approche globales.

L'analyse statique du code fait partie de l'arsenal des contrôles automatisés que vous pouvez utiliser pour maintenir la qualité du code. Elle doit être combinée à d'autres formes d'analyse dynamique (qui exécute votre code pour vérifier les problèmes connus) et de tests automatisés.