Cette page est la page officielle du cours du 1er semestre 2014/2015 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
- 1er cours : jeudi 18/09/2014 à 8h30 (24-34 201) et à 10h45 en salles STL et salle 207 batiment 31
- liste des articles et réalisations + répartition + lien pour soumettre (voir rubrique Examens)
- liste des remises (voir rubrique Examens)
- planning des soutenances cliquer ici
Notes de cours, TD et TME
- 6ème : GADT, fusion des modèles
- 5ème cours : polymorphisme parametrique et panorama des lanagges (PDF)
- 4ème cours : typage objet et surcharge (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)
- 3ème cours : typage objet en Ocaml (PDF) - cours 8 et 9 de mpil 2013/2014 et chapitre 15 de DA-OC).
- Ajout des traits impératifs à un typeur (cf lien), avec détection des expressions expansives.
- Adapter le texte du partiel de novembre 2012 de LI314 (cf lien) sur un visiteur paramétré en OCaml
(questions 1 à 4).
- Adapter en Java l'exemple des points avec méthodes binaires du cours.
- 2ème cours : lambda-calcul simplement typé
et typage d'un mini-ML fonctionnel et impératif (PDF)
-
typeur en OCAML ou typeur en F# (nouvelle version du 02.10.12).
(cours MPIL de L3
, environnements : OCaml (Tuareg, Ocaide), F# (Visual studio sous Windows ou mono)
)
-
test d'un typeur (cf lien) d'un mini-ML ou implantation du typeur en Scala ou Haskell
- suivre le fichier d'exemples (cf lien).
- ajout des traits impératifs à un typeur (cf lien).
- environnements en ligne :
- try ocaml : suivre le lien
- try F# : suivre le lien
- simpleScala : suivre le lien
- try Haskell : suivre le lien
- 1er cours : présentation du semestre (PDF) et lambda-calcul pur (transparents : PDF, poly : PDF)
-
Programmes et document :
- Exercices
- faire les réductions de la page 9 du polycopié du cours 1 : à la main ou en utilisant un des logiciels en ligne
- lire la page sur "Alligator Eggs", voir le lien avec le lambda-calcul
- tester la représentation des listes (comme données sur le lien lien wikipedia)
Équipe pédagogique
L'équipe pédagogique est ainsi constituée:
Emmanuel Chailloux (LIP6), Romain Demangeon (LIP6), Bruno Lesueur (UPMC), Sarah Zennou (Airbus).
Pour envoyer un courrier à l'équipe pédagogique, cliquez ici.
Examens et notation
L'évaluation de ce module comprend :
- examen écrit (sur la partie typage) = 30% de la note :
sujet sujet 2011, sujet 2012,
2013,
- une étude sur un article ou une mini-réalisation sur le typage comptant 20% de la note
à choisir dans
cette
liste (version du 02/10/2014)
répartition au 09/10/2014,
remise au 27/10/2014
- CLIQUEZ ICI pour proposer vos préférences dans le choix d'articles et/ou de réalisation (donnez au moins 3 choix), avant mardi 7/10/14 midi si possible.
- exemples de rapports 2011 : Bennater-Couillec, Deharbe-Salvucci
- CLIQUEZ ICI pour soumettre votre rapport avant le lundi 27/10/14 midi.
et ICI pour soumettre les transparents de votre exposé avant le mercredi (29/10/14) midi.
- planning des soutenances : à déterminer
pensez à: envoyer le fichier PDF de votre présentation : vous avez 10 minutes de présentation + 5 minutes de questions
Langages et environnements de travail
Bibliographie
Quelques lectures autour de la fiabilité logicielle et des langages :
Ouvrages de ré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 : 28/10/2014