Analyse du code source

Définition - Que signifie l'analyse du code source?

L'analyse du code source est le test automatisé du code source d'un programme dans le but de trouver les défauts et de les corriger avant que l'application ne soit vendue ou distribuée.

L'analyse de code source est synonyme d'analyse de code statique, où le code source est analysé simplement en tant que code et le programme n'est pas en cours d'exécution. Cela supprime le besoin de créer et d'utiliser des cas de test, et peut se dissocier des bogues spécifiques aux fonctionnalités, comme les boutons d'une couleur différente de ce que disent les spécifications. Il se concentre sur la recherche de défauts dans le programme qui peuvent nuire à son bon fonctionnement comme des lignes de code provoquant des plantages.

Definir Tech explique l'analyse du code source

L'analyse du code source est essentiellement un débogage de code automatisé. Le but est de trouver des bogues et des défauts qui peuvent ne pas être évidents pour un programmeur. Il est destiné à trouver des défauts tels que d'éventuels débordements de tampon ou une utilisation désordonnée de pointeurs et une mauvaise utilisation des fonctions de ramasse-miettes, qui peuvent tous être exploitables par un pirate informatique.

Les analyseurs de code fonctionnent à l'aide de règles qui lui indiquent ce qu'il faut rechercher. Avec trop peu de précision, un analyseur peut cracher trop de faux positifs et inonder l'utilisateur d'avertissements inutiles, alors qu'une trop grande précision peut prendre trop de temps à terminer; par conséquent, doit être un équilibre.

Il existe deux types d'analyseurs:

  • Interprocedural - Détecte les modèles d'une fonction à la suivante, et ces modèles sont corrélés afin que l'analyseur puisse créer un modèle et simuler des chemins d'exécution.
  • Intraprocedural - Se concentre sur la correspondance de modèles et dépend des types de modèles recherchés par l'utilisateur.

Les analyseurs interprocéduraux sont plus modernes et plus complexes. Coverity, Fortify et le propre outil centralisé de Microsoft PREfix en sont de bons exemples.