187
pages
Français
Documents
Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus
Découvre YouScribe et accède à tout notre catalogue !
Découvre YouScribe et accède à tout notre catalogue !
187
pages
Français
Documents
Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus
AVERTISSEMENT
Ce document est le fruit d’un long travail approuvé par le jury de
soutenance et mis à disposition de l’ensemble de la communauté
universitaire élargie.
Il est soumis à la propriété intellectuelle de l’auteur au même titre que sa
version papier. Ceci implique une obligation de citation et de
référencement lors de l’utilisation de ce document.
D’autre part, toute contrefaçon, plagiat, reproduction illicite entraîne une
poursuite pénale.
Contact SCD INPL : scdinpl@inpl-nancy.fr
LIENS
Code de la propriété intellectuelle. Articles L 122.4
Code de la propriété intellectuelle. Articles L 335.2 – L 335.10
http://www.cfcopies.com/V2/leg/leg_droi.php
http://www.culture.gouv.fr/culture/infos-pratiques/droits/protection.htm
Departement de formation doctorale en informatique
Ecole doctorale IAEM Lorraine
Analyse de la complexite des programmes
par interpretation semantique
THESE
presentee et soutenue publiquement le 14 novembre 2007
pour l’obtention du
Doctorat de l’Institut National Polytechnique de Lorraine
(specialite informatique)
par
Romain Pechoux
Composition du jury
Rapporteurs : Roberto Amadio Professeur, Universite Paris VII
Neil Jones Professeur, DIKU, University of Copenhagen
Examinateurs : Patrick Baillot Charge de Recherche, CNRS
Claude Kirchner Directeur de INRIA
Jean-Yves Marion Professeur, Ecole des Mines de Nancy, INPL
Simona Ronchi Della Rocca Universita di Torino
Paul Zimmermann Directeur de Recherche, INRIA
Invite : Guillaume Bonfante Charge de Recherche, INRIA
Laboratoire Lorrain de Recherche en Informatique et ses Applications | UMR 7503Remerciements
J’aimerais remercier de nombreuses personnes pour avoir contribue, a titres divers, a
l’elaboration de ce document. J’adresse donc des remerciements les plus chaleureux et
sinceres :
{ A Clemence, mon epouse, pour m’avoir soutenu pendant ces trois annees de these.
{ A mon directeur de these, Jean-Yves Marion pour m’avoir encourage et pour avoir
su me donner de bonnes pistes et intuitions de recherche.
{ A Roberto Amadio et a Neil Jones qui ont accepte d’^etre les rapporteurs de mon
manuscrit.
{ Aux autres membres de mon jury de these, Patrick Baillot, Claude Kirchner, Luigi
Liquori, Simona Ronchi Della Rocca et Paul Zimmermann.
{ A tous les membres de ma famille, mes parents et ma soeur.
{ Aux membres de l’equipe CARTE avec lesquels j’ai pu echanger des idees, Guillaume
Bonfante, Olivier Bournez, Johanne Cohen et Isabelle Gnaedig.
{ Aux membres du projet ACI CRISS avec lesquels j’ai travaille entre 2004 et 2006.
{ Aux dierents collegues de bureau, que j’ai c^otoyes pendant cette these et qui ont
toujours contribue a maintenir une ambiance chaleureuse (et studieuse) sur notre
lieu de travail. Dans l’ordre chronologique, Jean-Yves Moyen, Matthieu Kaczma-
rek, Marco Gaboardi, Emmanuel Hainry, Daniel Gra ca, Anne Bonfante et Octave
Boussaton, ainsi qu’a tous les collegues de l’equipe PROTHEO, Germain, Florent,
Antoine, Colin et a Sebastien de l’equipe PAROLE.
{ A tous mes autres amis dont la bande de l’Ecole des Mines, Charles ( 2), Blandine,
Emeline, Fred, Domi, Fabrice et Nadim, et le gang des dentistes, Soph, Jul, Seb,
Nat, Gillou, Pat et Julie.
{ A mes collegues enseignants, dont Azim Roussanaly, Antoine Tabbone et Odile
Thiery, qui m’ont encadre et conseille au cours des trois annees de monitorat que
j’ai e ectuees a l’UFR de Mathematiques et d’Informatique de l’Universite de Nancy
2.
iRemerciements
iiTable des matieres
Remerciements i
Introduction 3
I Les quasi-interpretations 11
I.1 De nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
I.1.1 Syntaxe des programmes fonctionnels au premier ordre . . . . . . . 14
I.1.2 Semantique des programmes fonctionnels au premier ordre . . . . 15
I.1.3 Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
I.1.4 Arbre des appels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
I.1.5 Assignations partielles . . . . . . . . . . . . . . . . . . . . . . . . . 18
I.1.6 Quasi-interpretations . . . . . . . . . . . . . . . . . . . . . . . . . . 19
I.2 Proprietes des quasi-interpretations . . . . . . . . . . . . . . . . . . . . . . 22
I.2.1 Machines de Turing et classes de complexite polynomiales . . . . . 22
I.2.2 Lemme fondamental . . . . . . . . . . . . . . . . . . . . . . . . . . 23
I.2.3 Ordres recursifs sur les chemins . . . . . . . . . . . . . . . . . . . . 26
I.2.4 Une caracterisation de FPtime . . . . . . . . . . . . . . . . . . . . 28
I.2.5 Une caracterisation de FPspace . . . . . . . . . . . . . . . . . . . 31
I.3 Synthese de quasi-interpretations . . . . . . . . . . . . . . . . . . . . . . . 34
I.3.1 De nition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
+I.3.2 Decidabilite du probleme de la synthese sur Max-PolyfR g . . . 37
I.3.3 Synthese de quasi-interpretations Max-Plus . . . . . . . . . . . . 41
I.4 Modularite des quasi-interpretations . . . . . . . . . . . . . . . . . . . . . 49
I.4.1 Union disjointe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
I.4.2 Union a constructeurs partages . . . . . . . . . . . . . . . . . . . . 52
I.4.3 Union hierarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
I.5 Application a d’autres langages de programmation . . . . . . . . . . . . . 67
I.5.1 Application a la veri cation de bytecode . . . . . . . . . . . . . . . 67
I.5.2 Application a des systemes de threads concurrents et interactifs . . 68
I.5.3 Application a des programmes d’ordre superieur . . . . . . . . . . 69
I.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
II Les sup-interpretations 73
II.1 De nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
II.1.1 Adjonction d’operateurs . . . . . . . . . . . . . . . . . . . . . . . . 76
II.1.2 Fraternites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
II.1.3 Assignations partielles . . . . . . . . . . . . . . . . . . . . . . . . . 78
1Table des matieres
II.1.4 Sup-interpretations . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
II.1.5 Poids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
II.2 Criteres permettant le contr^ole des ressources en espace . . . . . . . . . . 82
II.2.1 Critere quasi-amical . . . . . . . . . . . . . . . . . . . . . . . . . . 82
II.2.2 Critere pour les programmes non-terminants . . . . . . . . . . . . 90
II.2.3 Critere pour les algorithmes de type « diviser pour regner» . . . . 96
II.3 Application aux travaux precedents . . . . . . . . . . . . . . . . . . . . . . 100
II.3.1 Comparaison avec les quasi-interpretations . . . . . . . . . . . . . 100
II.3.2 Application aux paires de dependance . . . . . . . . . . . . . . . . 103
II.3.3 Application au size-change principle . . . . . . . . . . . . . . . . . 107
k
II.4 Une caracterisation des classes de complexite NC . . . . . . . . . . . . . 110
kII.4.1 Rappels sur ALogTime, NC et NC . . . . . . . . . . . . . . . . . 110
II.4.2 Programmes arborescents et sympathiques . . . . . . . . . . . . . 114
kII.4.3 Caracterisations de ALogTime, NC et NC . . . . . . . . . . . . . 119
II.5 Synthese de sup-interpretations . . . . . . . . . . . . . . . . . . . . . . . . 130
II.5.1 Synthese avec propriete sous-terme . . . . . . . . . . . . . . . . . . 130
II.5.2 Synthese sans propriete sous-terme . . . . . . . . . . . . . . . . . . 130
II.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
III Extension des sup-interpretations a un langage oriente objet 135
III.1 Programmation orientee objet . . . . . . . . . . . . . . . . . . . . . . . . . 137
III.1.1 Syntaxe des programmes . . . . . . . . . . . . . . . . . . . . . . . . 137
III.1.2 Semantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
III.2 Sup-interpretations et poids . . . . . . . . . . . . . . . . . . . . . . . . . . 142
III.2.1 Assignations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
III.2.2 Sup-interpretations . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
III.2.3 Poids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
III.3 Critere fraternel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
III.3.1 De nition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
III.3.2 Proprietes des programmes fraternels . . . . . . . . . . . . . . . . . 150
III.4 Synthese de sup-interpretations . . . . . . . . . . . . . . . . . . . . . . . . 153
III.4.1 Poids d’une methode . . . . . . . . . . . . . . . . . . . . . . . . . . 153
III.4.2 Methodes fraternelles . . . . . . . . . . . . . . . . . . . . . . . . . 153
III.5 Caracterisations de classes de complexite . . . . . . . . . . . . . . . . . . . 155
III.5.1 Une caracterisation de FPspace . . . . . . . . . . . . . . . . . . . 155
III.5.2 Une caracterisation de FPtime . . . . . . . . . . . . . . . . . . . . 157
III.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Conclusion 161
Bibliographie 163
Index 175
2Introduction
Je