L'analyse statique consiste à raisonner sur le comportement des programmes informatiques sans avoir à les exécuter. Cette technique est utilisée dans les compilateurs optimisants, afin de générer du code efficace à partir de propriétés du code inférées par l'outil. C'est également utilisé pour la détection automatique d'erreurs, afin d'aider les programmeurs à écrire de meilleurs programmes et moins de tests. Ce module enseigne à la fois la théorie et la pratique : à la fin du semestre, vous aurez implémenté une analyse de flot de donnée ainsi qu'une analyse par interprétation abstraite, ainsi que quelques analyses dans chacun de ces outils.