Résumé
En informatique, la notion d’analyse statique de programmes couvre une variété de méthodes utilisées pour obtenir des informations sur le comportement d'un programme lors de son exécution sans réellement l'exécuter. C'est cette dernière restriction qui distingue l'analyse statique des analyses dynamiques (comme le débugage ou le profiling) qui s'attachent, elles, au suivi de l’exécution du programme. L’analyse statique est utilisée pour repérer des erreurs formelles de programmation ou de conception et pour déterminer la facilité ou la difficulté à maintenir le code. Les premières idées d'analyse statique se trouvent dans les toutes premières recherches sur les ordinateurs naissants, à la fin des années 1940. Le système construit était alors moins cher que l'accès à la ressource (l'ordinateur). Ce qu'on appelle maintenant les preuves de programmes sont les premières traces d'analyse statique et on en trouve la démonstration dans la conférence d'Alan Turing en 1949, puis plus tard dans le travail sur les méthodes formelles dans les organigrammes de Robert Floyd et enfin dans la logique de Hoare. L’analyse statique englobe une famille de méthodes formelles qui dérivent automatiquement de l’information sur le comportement de logiciels ou de matériels informatiques. Une application possible de l’analyse statique est l’aide automatisée au débogage, en particulier la recherche d'erreurs à l’exécution – grosso modo, des événements qui poussent le programme à « planter ». Parmi les erreurs les plus courantes en ce genre, on peut citer les fautes de frappe pures et simples, notamment pour les langages de programmation sensibles à la casse, les formules faisant intervenir des variables non initialisées ou même non-déclarées, les références circulaires, l'emploi de syntaxes non-portables. L’analyse de programmes (y compris la recherche d'erreurs possibles à l'exécution) n'est pas déterministe : il n’existe aucune méthode « mécanique » qui peut toujours dire sans se tromper au vu d’un programme si celui-ci va ou non produire des erreurs à l’exécution.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.