CVFP Conception et (outils pour la) vérification formelle de programmes

Magistère informatique et télécommunications - ENS Cachan Antenne de Bretagne - Année 2011/2012


Intervenants

Cours : François Schwarzentruber
Travaux dirigés : Bastien Maubert et Jonathan Marchand


12 septembre 2011 Introduction aux classes de complexité
Transparents présentation du cours
Transparents motivation complexité

I) Machine de Turing
a) Définitions
b) Exécutions
II) Classes de complexité en temps
a) Encodage d'une machine de Turing dans un pavage
Transparents pavages et machines de Turing
Magnets pour le pavage à imprimer
b) le problème TILING est NP-complet
c) SAT est NP-complet
Démo SAToulouse (interface graphique pour un solveur SAT)
III) Classes de complexité en espace
a) CORRIDOR TILING est NPSPACE-hard
b) QBF-SAT est NPSPACE-hard et.... dans PSPACE !

TD1
19 septembre 2011 IV) Conclusion
a) Bilan : P inclus NP inclus (PSPACE = NPSPACE)
b) Exemple : jeu de géographie et jeu de Go
Transparents réduction QBF dans le jeu de géographie et jeu de Go

La logique modale K
Transparents "l'histoire de la logique modale"

I) Syntaxe
II) Axiomatique
III) Sémantique de Kripke
IV) Complétude
Transparents qui explique la construction du modèle canonique et la complétude

TD2
26 septembre 2011 V) Expressivité
a) Bounded morphism et bissimulations
b) Traduction standard de la logique modale en premier ordre. Enoncé du théorème de Van Benthem
Idée de la preuve du théorème de Van Benthem (pas montré)
VI) Le problème de satisfiabilité
a) Algorithme PSPACE utilisant les ensembles de Hintikka
b) Aperçu de la méthode de tableau
Logiciel LotrecScheme pour résoudre le problème SAT pour la logique modale K
TD3
3 octobre 2011 Correspondance sur les cadres
Transparents introduction à la correspondance entre formule modale et propriété du 1er ordre
1) Définissabilité
2) Propriétés du premier et du second ordre
3) Des formules modales récalcitrantes
a) Formule de Löb
b) Formule de Mc Kinsey
4) Propriétés du premier ordre non définissables
5) Vers un algorithme pour trouver une formule du premier ordre correspondante à une formule modale
a) Un fragment stupide
b) Les formules uniformes

TD4
10 octobre 2011
c) Formules de Sahlqvist (forme simple dans "Modal logic" de Blackburn and cie)
Définition du fragment de Sahlqvist. Exemple de la réflexivité et de la confluence.
Transparents sur l'algorithme pour trouver l'équivalent 1er ordre sur les cadres
6) Théorème de complétude de Sahlqvist
Logiciel Sqema pour trouver la correspondance d'une formule modale

Trois techniques pour montrer la décidabilité/complexité de certains problèmes SAT
Transparents introductifs
1) La plus "simple" des logiques modales : le système S5 (TD)
TD5
17 octobre 2011 2) Méthode de tableau revisité
3) Filtrations
TD6
24 octobre 2011 Logiques temporelles
Motivation
Poly (avec des fautes)
1) Présentation de CTL* et de ses fragments LTL et CTL
2) LTL : logique temporelle linéaire
a) Un peu d'expressivité
b) Satisfiabilité
Transparents LTL SAT
Lien vers le papier de Sitla et Clarke
c) Model-checking
Transparents réduction de CORRIDOR-TILING dans le model-checking de LTL
TD7
31 octobre 2011 VACANCES
7 novembre 2011 3) Retour à la logique temporelle branchée
Motivation
a) Model-checking
- de CTL*
- de CTL
4) Expressivité
a) Comparaison entre LTL, CTL, CTL*
b) Comparaison entre CTL, K et S4
c) Bissimulations
No TD
14 novembre 2011 Demain, toujours... et le problème de satisfiabilité est EXPTIME-complet
Transparents
Poly (avec des fautes)
1) Musée
a) PDL : Propositional Dynamic Logic
b) Logique épistémique et connaissance commune
c) Conséquence globale
2) Vers un problème EXPTIME-hard intéressant : machines de Turing alternantes
a) Définition
b) Calculs
c) Comparaison des classes de complexités
- AP = PSPACE
- APSPACE = EXPTIME
TD9
21 novembre 2011 Conception de programmes
1) Généralités
a) Introduction
Transparents
- Un peu d'histoire
- Pourquoi est-ce utile pour vous ?
b) Programmation objet = programmation "sociale"
Transparents
- Encapsulation
- Réutilisation
c) Diagrammes de classes
d) Exemple du vol illustrant...
Transparents
- Forte cohésion
- Découpe en packages
TD10
28 novembre 2011 2) Patrons de conception (recettes de cuisine)
Transparents
- patrons de créations
- patrons de structures
- patrons de comportements
TD11
5 décembre 2011 Retour sur "demain, toujours..."
d) Application à PDL
3) Comment avoir un algorithme EXPTIME pour PDL ?
- Lien entre compacité, modèles (non) standards, modèle canonique filtré
TD12