Calendrier des semaines

# Date Cours Lecture recommandée Évaluation
1 2026-01-13 00-intro How to Read a Paper, Keshav, 2007
2 2026-01-20 01-lint Finding Bugs is Easy, Homeyer and Pugh, 2004
3 2026-01-27 02-dataflow Constant Propagation with Conditional Branches, Wegman and Zadeck, 1991
4 2026-02-03 03-fuzzing AFL: Technical Details, Zalewski
5 2026-02-10 04-symex KLEE, Cadar et al., 2008 Devoir 1
6 2026-02-17 05-infoflow ORBS and the Limits of Static Slicing, Binkley et al., 2015
7 2026-02-24 06-dataflow2
- 2026-03-03 relâche
8 2026-03-10 07-absint Abstracting Abstract Machines, Van Horn and Might, 2010 Devoir 2
9 2026-03-17 révisions Choix d’article, outil, et projet
10 2026-03-24 intra grève Examen intra
11 2026-03-31 intra Examen intra
12 2026-04-07 présentations d’article Présentation d’article
13 2026-04-14 présentations d’outil Présentation d’outil
14 2026-04-21 présentation d’invité + 08-advanced
15 2026-04-28 présentation de projets Projet de session

Évaluation

Évaluation Pondération Échéance
Devoir 1 7.5% Semaine 5
Devoir 2 7.5% Semaine 8
Examen intra 25% Semaine 10
Présentation d’article 15% Semaine 12
Présentation d’outil 15% Semaine 13
Projet de session 30% Semaine 15

La matière de l’intra porte sur le contenu des chapitres 0 à 7. Des exercices de révisions sont disponibles, ainsi que les solutions.

Pour l’examen, vous pouvez venir avec deux pages de notes (format lettre, recto-verso, donc 4 faces) manuscrites comme aide mémoire.

Contenu du cours

  • Chapitre 0 : Introduction à l’analyse de programmes
  • Chapitre 1 : Analyse par filtrage d’arbre syntaxique (linters)
  • Chapitre 2 : Analyse de flot de donnée : concepts fondamentaux (dataflow)
  • Chapitre 3 : Fuzzing
  • Chapitre 4 : Exécution symbolique
  • Chapitre 5 : Analyse de flot d’information (taint analysis, slicing)
  • Chapitre 6 : Analyse de flot de donnée : concepts avancés
  • Chapitre 7 : Interprétation abstraite
  • Chapitre 8 : Éléments avancés d’analyse de programmes (sujet à choisir)

MiniC

Références