Cette page est la page officielle de la partie " Typage " du cours du 1er semestre 2021/2022 intitulé
« Typage et Analyse Statique »
qui s'adresse aux étudiants de master de l'UPMC.
La description de la brochure du module se trouve
ici.
Nouvelles fraîches
- dates des remises des devoirs, soutenances et examen
(voir planning à la rubrique Examens)
Notes de cours, TD et TME
- 6ème cours
- polymorphisme parametrique, lambda-expressions en Java et fusion des modèles fonctionnel et objet en Scala (PDF)
- compléments :
- présentation du typage graduel, tutorial Jeremy Siek à POPL 2017 (lien)
- un mot sur le système de types de Rust, présentation de Testard à l'OSIS 2016, scope sur doc.rust-lang.org
- annales d'examen, voir rubrique Examens
- 5ème cours : surcharge en Java et Haskell (PDF)
- comparaison algorithmes de résolution de la surcharge en Java 1.5
et en java 1.2
- simulation d'algorithme de surcharge en Java 1.5 avec production de code ZAM (projet Potdevin-Vaugon) (rapport et javaz.tgz)
- simulation d'algorithme de surcharge de Dul et Maslia (rapport et jar)
- surcharge en Haskell, testez les exemples du cours en ghc (ghc) : compilation en ligne, ou try Haskell
- détermination des projets de chaque groupe (voir rubrique Examens)
- 4ème cours : polymorphisme par sout-typage structurel (en OCaml) et nominal (en Java) : PDF (chapitre 15 de DA-OC).
- réalisation du devoir sur le typeur
- présentation des articles
- 3eme cours : typage d'un mini-ML (PDF)
-
test d'un typeur (cf lien) d'un mini-ML
- version sans analyse syntaxique en OCaml (lien) o
u Fsharp (lien).
- suivre le fichier d'exemples (cf lien).
- ajout des traits impératifs à un typeur (cf lien), avec le fichier de tests (lien).
- ajout d'une coercition de type : (e : type)
- si vous ne connaissez pas OCAML,
- suivez le cours OUV (ouverture) des M1 STL
- projet de programmation pdf
- code d'un typeur en ML à base de contraintes
- 2ème cours : lambda-calcul simplement typé (PDF)
-
TD2
-
Programmes et documents :
- 1er cours : présentation du semestre (PDF) et lambda-calcul pur (transparents : PDF)
- TD1
-
Programmes et document :
Équipe pédagogique
L'équipe pédagogique est ainsi constituée:
Emmanuel Chailloux (LIP6), Romain Demangeon (LIP6), Antoine Miné (LIP6), Raphael Monat (LIP6).
Pour envoyer un courrier à l'équipe pédagogique, cliquez ici.
Examens et notation
L'évaluation de ce module comprend :
- partie typage pour 50%
- synthèse d'article à rendre le mardi 09.11.21 sur moodle, soutenance le vendredi 12.11.21, synthèse et soutenance comptant pour 15%
remise sur Moodle
- une réalisation d'un typeur à rendre le jeudi 18.11.2021 sur moodle, comptant pour 15%
remise sur Moodle
- examen écrit le vendredi 26.11.21 comptant pour 20%
- sur la partie analyse statique pour 50%
- présentation d'article
- projet initié en TME
Langages et environnements de travail
Bibliographie
Quelques lectures autour de la fiabilité logicielle et des langages :
Ouvrages de référence :
- sur le typage
- Types and Programming Languages - B. Pierce - The MIT Press
- sur l'analyse statique
- Principles of Program Analysis - F. Nielson, H. Nielson et C. Hankin - Springer
Autres liens
Remarques?
dernière modification : 27/10/2021