• Aucun résultat trouvé

Réduction paramétrée de spécifications formées d'automates communicants : algorithmes polynomiaux pour la réduction de modèles

N/A
N/A
Protected

Academic year: 2021

Partager "Réduction paramétrée de spécifications formées d'automates communicants : algorithmes polynomiaux pour la réduction de modèles"

Copied!
158
0
0

Texte intégral

(1)

HAL Id: tel-00180174

https://tel.archives-ouvertes.fr/tel-00180174

Submitted on 17 Oct 2007

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

d’automates communicants : algorithmes polynomiaux

pour la réduction de modèles

Sébastien Labbé

To cite this version:

Sébastien Labbé. Réduction paramétrée de spécifications formées d’automates communicants :

algo-rithmes polynomiaux pour la réduction de modèles. Génie logiciel [cs.SE]. Université Pierre et Marie

Curie - Paris VI, 2007. Français. �tel-00180174�

(2)

L'UNIVERSITÉ PIERRE ET MARIE CURIE Spé ialité

INFORMATIQUE Présentéepar M.Sébastien LABBÉ Pour obtenir le gradede

DOCTEUR de l'UNIVERSITÉ PIERRE ET MARIE CURIE

Sujetde lathèse :

Rédu tion paramétrée de spé i ations formées d'automates om-muni ants:algorithmespolynomiauxpourlarédu tiondemodèles

soutenue le26/09/2007

devant lejury omposéde :

M. Mar POUZET Dire teur de thèse

Professeuràl'UniversitéParisSudXI

M. Jean-Pierre GALLOIS En adrant de thèse Cher heurauCEALIST

M. Jean-Claude FERNANDEZ Rapporteur Professeuràl'UniversitéJosephFourier,GrenobleI

M. YvesLETRAON Rapporteur

HDR,Maîtrede onféren esàl'ENSTBretagne

M. Mar AIGUIER Examinateur

Professeuràl'É ole CentraleParis

Mme.Thérèse HARDIN Examinateur

Professeuràl'UniversitéPierreetMarieCurie,ParisVI

UniversitéPierre&MarieCurie-Paris6 Bureaudelas olaritédo torat Es G,

2

e étage

15ruedel'é oledeméde ine 75270-PARISCEDEX06

Tél.Se rétariat:0142346835 Fax:0142346840 Tél.pourlesétudiantsdeAàMF:0142346841 Tél.pourlesétudiantsdeMGàZ:0142346851 E-mail:s olarite.do toratupm .fr

(3)
(4)

Je tiens à remer iertoutes les personnesqui ont ontribué de diversesfaçons à l'aboutissement dema thèse.

Tout d'abord, je n'oublierai pas la persévéran e de Jean-Pierre Gallois (CEA LIST),qui ave la ollaboration de Jean-François Tilman (Axlog Ingénierie),a été déterminant dans monobtention d'un ontrat de thèse au CEA. Je remer ie aussi (et surtout) Jean-Pierre pour sa disponibilité, et son en adrement qui s'est avéré idéal pour moi,tant au niveau humain ques ientique.

Ungrandmer iàMar Pouzetpouravoira eptéd'êtremondire teurdethèse, pouravoirétédisponibleauxmoments lésdelaprogressiondemestravaux,etpour avoir ontribué de façon signi ative à améliorerlemanus ritde thèse.

Je remer ietrès sin èrementMar Aiguier,Jean-Claude Fernandez,Jean-Pierre Gallois, Thérèse Hardin, Yves Le Traon et Mar Pouzet de me faire l'honneur de parti iper au jury de ma soutenan e; mer i parti ulièrement à Jean-Claude F er-nandezetYves Le Traond'avoira epté d'évaluer montravail, etde m'avoir ainsi apporténombre de ommentaires onstru tifs.

Mer i à François Terrier, hef du Laboratoire Logi ielspour la Sûretédes Pro- édés(CEALIST),pourm'avoira ueillidanssonlaboratoiredurant estroisans.

Je salue toutparti ulièrement lespersonnesave quij'ai ollaborésurleprojet AgathaduCEALIST,pourleurgentillesse,leur onvivialitéetleurs ompéten es s ientiquesde haut niveau :DanielMateus  envers qui je suistrès re onnaissant pour les ex ellents souvenirs de nombreuses dis ussions (sérieusesou non), etpour sa ontribution importante àla formalisationde mes travaux  Arnault Lapitre et Laurent Philippe  mer i pour votre aide pré ieuse sur le développement 

(5)

Jean-Pierron,Céline Bigot, AssiaTouil,Thomas Maître,Aurélien Ohayon, Mathieu Vi-dalies et Cyril Grepet. Mer i à nouveau à Alain et Arnault pour m'avoir permis d'entrerau CEAà l'origine, etàChristophepour m'avoiraiguillé surlapossibilité d'enseigner àl'Université d'Évry.

Jesalueaussitouteslespersonnesquej'ai toyédurant esdernièresannéesau CEA, etqui ont ontribué à un adre de travail des plus agréables, et notamment Safouan Taha, Frédéri Loiret, Ni olas Ravot, Sébastien Revol, Huas ar Espinoza, Julio Medina, Arnaud Cu uru, Frédéri Thomas, François Lagarde, Amanda Le-blan,AnsgarRaderma her,YannTanguy,SébastienGérard,JoëlleJouanest,Magali Genau, Annie Straboni, Jan Stransky, Patri k Vanuxeem, Vin ent David, Géraud Canet ettoutes les personnes duServi e Outils Logi iels.

Salutations à Alex Summers, Jayshan Raghunandan, Mila Dalla Preda, Ther-rezinha Fernandes, Jim Wood o k, Augusto Sampaio, Ana Caval anti, Dominique Méry, Ridha Khedri, Mark Lawford, Pas ale Le Gall, John Hat li, Venkatesh P. RanganathetJensKrinke.

ToutemagratitudevaàJean-Mi heletClaudinesansqui,bienentendu, ette thèsen'existeraitpasainsiqu'àtouslesmembresdemafamille,notamment Jean-Pierre,Maéva etCharline,GisèleetAlbert,Janine etRaymond.

Je salue et remer ie Jean-Frédéri , Jean-Paul, Bruno et Meryem, Christèle et Romain,Bri e,Bruno, Karl, Je,Fran k, Ben,Johan, Vin ent,Thomas et Magali, Male k et Jessi a, Christophe et Aurélie, Félix et Diane, Jérome, Laïka, Ursula, Mi kaël, Thibault, Charles et Johanna, Marie-Claude, Floriane et Ludwig, Meng, Ludivine, Fabri e, Guillaume, Johan, Aurélien, Anne-Su, Sat, Arnaud, Thomas et Sophie, Thérèse et Jean-Pierre, Olivier, Émilie, pour leur amitié et tous les bons moments passésetàvenir.

(6)

Laboratoire d'a ueil CEA, DRT/LIST/DTSI, Servi e Outils Logi iels, Labo-ratoireLogi ielspourlaSûretédesPro édés,Sa lay,F-91191Gif-sur-Yvette,Fran e.

Résumé Lestravauxdé ritsdans emanus ritdethèses'ins riventdansle adre desméthodesformellespourleslangagesdespé i ationsforméesd'automates om-muni ants. Ce type de langage est largement utilisé dans les industries de pointe où leniveau de abilité requis estélevé (e.g.aéronautique, transports), arils per-mettent d'améliorerlapré ision desspé i ationsetd'exploiter desoutilsde simu-lation, de test ou de véri ation qui ontribuent à lavalidation des spé i ations. Unfreinaupassageàl'é helle industriellede esméthodesformellesest onnusous lenomde l'explosion ombinatoire,quiestdueàlafoisàlamanipulationdelarges domainesnumériques, etau parallélismeintrinsèqueauxspé i ations.

L'idée que nous proposons onsiste à ontourner e phénomène en appliquant deste hniquesderédu tionparamétrée,pouvantêtredésignéessousleterme anglo-saxon sli ing, en amont d'une analyse omplexe. Cette analyse peut ainsi être ee tuée a posteriori sur une spé i ation réduite, don potentiellement moins su-jette àl'explosion ombinatoire.Notre méthode de rédu tionparamétrée est basée sur des relations de dépendan es dans la spé i ation sous analyse, et est fondée prin ipalement sur les travaux ee tués par les ommunautés de la ompilation et du sli ing de programmes. Dans ette thèse nous établissons un adre théorique pour les analyses statiques de spé i ations formées d'automates ommuni ants, danslequelnousdénissonsformellement lesrelationsde dépendan es mentionnées i-dessus, ainsi que le on ept de tran he de spé i ation par rapport à un ritère de rédu tion. Ensuite, nous dé rivons et démontrons les algorithmes e a es que nousavonsmisaupointpour al ulerlesrelationsdedépendan esetlestran hesde spé i ations,etenn nousdé rivonsnotremiseen ÷uvrede esalgorithmesdans l'outilCarver,pourlarédu tionparamétréedespé i ationsforméesd'automates ommuni ants.

(7)

miaux.

Title Sli ingCommuni atingAutomataSpe i ations:PolynomialAlgorithmsfor ModelRedu tion.

Abstra t ThisPhDthesisis on ernedwithformalmethodsforlanguagesof om-muni atingautomataspe i ations.Intheindustry,thiskindoflanguagesismainly usedin elds where the reliability requirements are high (e.g.aeronauti al, trans-portation industries), as a mean of improving the pre ision of spe i ations, and exploitingsimulation,testingand veri ationtools,for thepurposeofspe i ation validation.Still, on larges ale industrialspe i ations,formalmethods suerfrom the ombinatorial explosion phenomenon; this is notably due to the manipulation ofwide numeri al domains,and the spe i ationsinner parallelism.

In our ontribution, we suggestto bypassthis phenomenon, inapplying sli ing te hniquesbeforethetargeted omplexanalysis.Thisanalysis anthusbeperformed a posteriori ona redu ed (orsli ed) spe i ation,whi h ispotentiallylessexposed to ombinatorial explosion. Our sli ing method is based on dependen e relations, denedon the spe i ationunderanalysis, andismainly foundedon theliterature on ompiler onstru tion and program sli ing.In this thesis, we state a theoreti al frameworkforstati analysesof ommuni atingautomataspe i ations,inwhi hwe formallydene theaforementioneddependen erelations,together withthe on ept ofasli eofaspe i ationwithrespe ttoasli ing riterion.Then,wedes ribeand provethe e ientalgorithms thatwedesigned for al ulatingdependen erelations andspe i ationsli es.Finally,wedes ribeourimplementation ofthese algorithms intheCarvertool, for sli ing ommuni ating automata spe i ations.

Keywords Sli ing,modelredu tion,spe i ations, ommuni atingautomata, sta-ti analysis, dataowanalysis, polynomialalgorithms.

(8)

1 Introdu tion 11

1.1 Contexteetobje tifs . . . 11

1.2 Contributions de lathèse . . . 14

1.3 Graphe deot de ontrle (CFG) . . . 15

1.4 Rédu tion paramétrée deprogrammes . . . 17

1.4.1 Rédu tion paramétrée à la Weiser . . . 19

1.4.2 Rédu tion paramétrée baséesurdes relations dedépendan es 20 2 Analyse de ot de données 23 2.1 Introdu tion . . . 24

2.2 Notionsde théoriedestreillis . . . 24

2.3 Appli ation auxanalysesde ot dedonnées . . . 28

2.3.1 Théoriedes treillisetanalyses de ot de données . . . 29

2.3.2 Choixd'unsemi-treillis :unionou interse tion? . . . 30

2.3.3 Choixd'unsemi-treillis:ensembledesinformationsdeotde données . . . 31

2.3.4 Produit artésien de treillis . . . 32

2.3.5 Introdu tion d'unesémantique abstraite . . . 32

2.4 Résolutiond'une analysede ot de données . . . 34

2.4.1 Introdu tion. . . 34

2.4.2 Lasolution JOP d'uneanalysede ot de données . . . 34

2.4.3 Lasolution MFPd'uneanalyse de otde données . . . 36

2.4.4 Comparaisondessolutions JOP etMFP . . . 36

2.4.5 Ve teurs de bits. . . 38

2.5 Une appli ation :Propagationdesdénitions . . . 40

2.5.1 Dénitiondu problèmeRD . . . 40

(9)

2.5.3 Dénition de lasémantiqueabstraite . . . 43

2.5.4 Solution JOPpour leproblèmeRD . . . 44

2.5.5 Solution MFPpour leproblème RD . . . 45

2.5.6 Ve teurs debits pour le problèmeRD . . . 46

3 Le modèledes automates ommuni ants 47 3.1 Automates ommuni ants (IOSTS) . . . 47

3.1.1 Typesde données. . . 48

3.1.2 Systèmes deTransitionsSymboliques à Entrées/Sorties . . . . 49

3.1.3 Semantique . . . 50

3.2 Spé i ationsforméesd'IOSTS . . . 52

3.2.1 Dénition . . . 52

3.2.2 Composition Parallèle . . . 55

3.3 Chemins dans lesIOSTS . . . 58

4 Analyse de dépendan es dans les spé i ations 61 4.1 Introdu tion . . . 62

4.2 Dépendan esde données . . . 63

4.2.1 Dénitions etutilisationsde variables . . . 63

4.2.2 Dénitions traditionnelles . . . 64

4.2.3 Nouvelle dénition . . . 65

4.2.4 Analyse de ot dedonnées . . . 67

4.2.5 Algorithme générique deot de données . . . 68

4.2.6 Algorithme spé ique . . . 68

4.2.7 Analyse de omplexitéet preuve de terminaison . . . 72

4.2.8 Preuve de orre tionde l'algorithme . . . 74

4.2.9 Preuve de omplétudede l'algorithme . . . 77

4.3 Dépendan esde ontrle . . . 78

4.3.1 Dénition traditionnelle . . . 79

4.3.2 Dénition ré ente . . . 80

4.3.3 Nouvelle dénition . . . 81

4.3.4 Des ription de l'algorithme . . . 84

4.3.5 Analyse de omplexitéet preuve de terminaison . . . 89

4.3.6 Preuve de orre tionde l'algorithme . . . 91

4.3.7 Preuve de omplétudede l'algorithme . . . 94

4.4 Dépendan esde ommuni ation . . . 95

(10)

4.4.2 Travaux onnexes. . . 96

4.4.3 Des riptionde notre algorithme . . . 97

4.4.4 Analysede omplexité etpreuve de terminaison . . . 99

4.4.5 Preuve de orre tion de l'algorithme . . . 100

4.4.6 Preuve de omplétude del'algorithme . . . 100

5 Rédu tion paramétrée de spé i ations 103 5.1 Introdu tion . . . 104

5.2 Rédu tion paramétrée orre te, pré ise, optimale . . . 105

5.2.1 Dépendan eindire te, dépendan etransitive . . . 105

5.2.2 Corre tion, optimalité, pré ision . . . 106

5.2.3 Propriétés desrelations de dépendan es . . . 107

5.2.4 Dis ussionsur lesdépendan es de ommuni ation . . . 108

5.2.5 Considérationssurla pré ision . . . 110

5.3 Méthode derédu tion paramétrée . . . 110

5.3.1 Dénitions . . . 111

5.3.2 Algorithmede rédu tionparamétrée :idée générale . . . 113

5.3.3 Des riptionde notre algorithme . . . 113

5.3.4 Analysede omplexité etpreuve de terminaison . . . 119

5.3.5 Preuve de orre tion de l'algorithme . . . 123

5.3.6 Preuve de omplétude del'algorithme . . . 125

5.3.7 Exemplesd'appli ation del'algorithme . . . 126

5.4 Miseen ÷uvre . . . 130

5.4.1 Carver,unoutilpourlarédu tionparamétréedespé i ations130 5.4.2 Bilande l'intégration . . . 136

5.5 Appli ations. . . 137

5.5.1 Preuve de propriétés . . . 137

5.5.2 Modèles paramétrés . . . 138

5.5.3 Test de onformité . . . 138

5.5.4 Gestion desévolutions . . . 138

5.6 Travaux onnexes . . . 139

5.6.1 Rédu tion paramétrée de spé i ationsformées d'automates ommuni ants. . . 139

5.6.2 Delapré ision desrelations de dépendan es . . . 140

(11)

6 Con lusion 141 6.1 Synthèse . . . 141 6.2 Perspe tives . . . 142

Bibliographie 147

(12)

Introdu tion

Sommaire

1.1 Contexte etobje tifs . . . 11

1.2 Contributions de la thèse. . . 14

1.3 Graphe de otde ontrle (CFG) . . . 15

1.4 Rédu tion paramétrée de programmes. . . 17

1.4.1 Rédu tionparamétréeàla Weiser . . . 19

1.4.2 Rédu tion paramétrée basée sur des relations de dépen-dan es . . . 20

1.1 Contexte et obje tifs

Depuisplusieurs dé ennies,les a teursde lare her hesesont évertués àrelever des dés s ientiques et te hnologiques d'ampleur toujours plus importante, no-tamment danslesdomainesdel'aérospatiale, de l'aéronautique etdunu léaire.On onçoitaisémentquele oûtd'uneexpérien edansunde esdomainespeuts'avérer onsidérablement élevé, aussi bien au niveau humain que matériel. Les impératifs é onomiques et humains ont ainsi imposé aux s ientiques de développer leur a-pa ité à évaluer de façon pré ise les han es de su èsde leurs expérien es. Cette apa ité a été notamment développée à travers l'étude de la abilité, en tant que méthodede mesure delasûreté defon tionnement

1

.Après plusde vingtans d'ex-périmentation, ette démar he afaitsespreuvesdanslesdomainesdel'aérospatiale

1

Pluspré isément,dénitiondelaabilitédonnéeparl'A adémie:Grandeur ara térisantla sûreté de fon tionnement, ou mesure de laprobabilité defon tionnement d'un appareillageselon desnormespres rites [Fou93 ℄.

(13)

[RHTR06℄, de l'aéronautique [ZRI

+

00℄ et du nu léaire [WL03 ℄; elle s'est imposée plus tardivement dans d'autres industries omme l'automobile [Pho01 ℄, ette der-nièreayanteutendan eà onsidérerdansunpremiertempsquelesappro hes déve-loppéespar les industriesde pointe itées pré édemment,ne s'appliquent pasdans ledomaine delaprodu tionengrandesérie.Aujourd'hui,l'omniprésen ede l'infor-matiquedansnotre vie quotidienne (e.g.dansles se teursdestélé ommuni ations, destransports etdumédi al) a roîten ore laprépondéran e delasûreté de fon -tionnement des logi iels :même si dans e ontexte desvies humaines ne sont pas toujoursen jeu,les impli ationsé onomiques, voire juridiques, dedéfaillan es logi- iellesdansunproduitsont potentiellement atastrophiquespourleurs on epteurs et/ou distributeurs. En eet, qu'adviendrait-il d'une banque qui perdrait subite-ment tous ses moyens de traitement d'information, d'une so iété ommer ialisant destéléphones ellulaires dont lesystèmed'exploitation s'avèredéfaillant?

Fa eà etteproblématique,lesméthodesformellesméthodesfondéessurla lo-giquemathématique présentent desavantages indéniables.D'une part,lasyntaxe et la sémantique des langages de spé i ation formels étant dénies mathémati-quement, eslangagespermettent despé ier un systèmedemanière nonambiguë etnon ontradi toire;d'autre part, lesoutils formelshabituellement asso iés à es langagessont basés sur des adres théoriques (e.g. analyse statique) et sur des al-gorithmes dont la orre tion,etausside préféren ela omplétudeetla omplexité, peuvent être démontrées mathématiquement. Une fois qu'un système est spé ié formellement à partirdesexigen esdeson ommanditaire (i.e. àpartir d'un ahier des harges), et réalisé (e.g. à l'aide de te hniques de génération automatique de ode), l'évaluationde la orre tionglobale dusystèmesedé oupeendeuxa tivités diérenteset omplémentaires:lavalidation onsisteàs'assurerquelaspé i ation formelle exprime bienlesystème souhaité(e.g. enemployant desméthodesde test et de simulation), et la véri ation onsiste à s'assurer que le système réalisé se omporte onformémentà lasémantiquedelaspé i ationformelle (e.g.preuvede propriétés). Ainsi, les méthodesformelles permettent de spé ier etde développer un système tout en permettant de s'assurer que les niveaux requis de abilité, de sûreté,et . sont atteints.

Cependant, omme les a tivités de validation et de véri ation peuvent né es-siterl'examen de toutes les exé utions possibles du système, elles sont onfrontées auphénomène de l'explosion ombinatoire  e phénomène orrespond à la démul-tipli ation du nombre de omportements possibles d'une partie d'un système, par exemplelorsqu'elleestexé utéedefaçon on urrenteave uneautrepartiedela

(14)

spé- i ation. Ilen résulteune omplexitégénéralement élevée desméthodesformelles, e qui onstitue un freinau passage àl'é helle industrielle de esméthodes.

Les langages de spé i ation à base d'automates ommuni ants, omme UML State harts, SDL, Stateow harts, sont bien adaptés pour spé ier les systèmes informatiquesproduitsparl'industrie,toujoursplus omplexesetparallélisés. L'ap-pro he Agatha [Lap02 , Pie03 , Rap04 , RGLG03, BFG

+

03a , LBV

+

04℄est une so-lution proposée par le CEA LIST

2

, pour la validation de systèmes à base d'au-tomates ommuni ants. Cette appro he est fondée sur l'exé ution symbolique des systèmessous analyse.L'idée quisous-tendl'exé ution symboliquepartdu onstat qu'habituellement,il yadansune spé i ationdes traitements identiques quisont prévuspour plusieurs entrées diérentes. Autrement dit, lesdonnées d'entrée nese distinguent pastoutes dupointde vuedestraitementsquelaspé i ation leur ap-plique.Ensomme,lestraitementsd'unespé i ationinduisentdes lasses d'équiva-len essurlesentrées,selonlarelationinduitlesmêmestraitementsque.Legraphe d'exé utionsymbolique, produitpar e al ul,représente l'ensembledes omporte-mentsdusystème:dans egraphe, haque heminsymboliquereprésenteune lasse d'équivalen e de hemins numériques. Le ara tère ompa t et exhaustif de ette représentation est avantageux dans l'optiquede lavalidation et de lavéri ation.

Lestravauxprésentésdans emanus ritontvo ationàêtre omplémentairesdu projetAgatha. Defaçonsynthétique,lebutde e projetestdetravaillersur l'ana-lyseetlavalidationdesystèmesréa tifs,éventuellementembarqués,quiproviennent desindustriesde pointe évoquéespré édemment. Lesspé i ationsformées d'auto-mates ommuni antsqui modélisent es systèmessont parti ulièrement sujettes au phénomèned'explosion ombinatoire,deparleur ara tère on urrent ainsiquepar la quantité et le domaine des données manipulées. En outre, les systèmes réa tifs étant spé iés pour interagir indéniment, ils peuvent avoir un nombre inni de omportements, même symboliques. Aussi, l'appro he agatha propose des pro é-dures de rédu tion qui interviennent dans la onstru tion du graphe d'exé ution symbolique. Néanmoins dans ertains as (e.g. systèmes de taille industrielle), la omplexité de la te hnique mise en ÷uvre demeure bloquante, soit par e que le graphe produit est trop volumineux pour permettre une exploitation par l'utilisa-teur, soit à ause detemps de réponsetrop important.

2

CEA:Commissariatà l'ÉnergieAtomique/LIST :Laboratoire d'Intégrationdes Systèmes etdesTe hnologies.

(15)

1.2 Contributions de la thèse

La solution proposée dans ette thèse onsiste à réduire les spé i ations en amontd'analyses formelles omplexes,telles quel'exé ution symboliqueave Aga-tha (mais on pourrait aussi iterla véri ation de propriétés ave un model he- ker). Cette rédu tion s'opèrera en fon tion de ritères bien hoisis vis-à-vis de l'appli ation souhaitée. Pour ela, nous nous appuyons sur l'état de l'art des mé-thodesderédu tionparamétrée (ousli ing),quiont étéintroduites àl'originepour réduire desprogrammes impératifs (et plus pré isément une représentation de es programmes, nommée graphe de ot de ontrle), an d'en fa iliter la ompréhen-sionetledébogage.Nousverronsqueles ara téristiquesdesspé i ationsformées d'automates ommuni ants né essitent dessolutions adaptées, dansl'optiquede la rédu tionparamétréenotammentl'absen edepointdesortieunique,l'o urren e de ommuni ations surles anaux.

Lemanus ritdethèseestorganisé ommesuit.Lande e hapitre1est onsa- rée à la dénition des graphes de ot de ontrle et à l'introdu tion du on ept original de rédu tion paramétrée. Le hapitre 2 dé rit le adre théorique des ana-lyses de ot de données, que nous utiliserons ommefondement des te hniques de rédu tion paramétrée. Le hapitre 3 dé rit la syntaxe et la sémantique du forma-lisme desautomates ommuni ants, surlequel sont basés tous les travauxde ette thèse.Les hapitres4et5 sont onsa rés àlades ription pré isedenotre solution. Plus pré isément, le hapitre 4 présente l'analyse de dépendan es dans les spé i- ations formées d'automates ommuni ants. Ce hapitre forme la pierre angulaire de notre méthode de rédu tion paramétrée, dé rite au hapitre 5. Les analysesde dépendan es, ainsi que notre méthode proprement dite de rédu tion paramétrée sont dé rites par desdénitions formelles etdes algorithmes, qui s'ins rivent dans le adrethéoriquedes hapitres2et3.Les hapitres4et5 omprennentaussiles dé-monstrationsdela omplexitépolynomiale de esalgorithmes,etdeleur orre tion et omplétude par rapportauxdénitions orrespondantes;de plus, ils omplètent l'étatde l'artsurlarédu tion paramétrée,initiéen se tion1.4. Enn, le hapitre5 présentelamiseen÷uvrequenousavonsfaitedetoutesleste hniquesdé ritesdans emanus rit, sous laforme d'unoutil logi iel(nomméCarver).Onpré ise quele ontenu des hapitres 3,4 et5 a faitl'objet d'unepubli ation ourte etd'une pré-sentation au Do toral Symposium de la onféren e Formal Methods 2006

3

[LG06 ℄, d'uneprésentationetd'unesoumissionpourlesa tesdela onféren e International

3

À ette o asion, les organisateurs ont dé erné àl'auteur le prix FACJ Outstanding Young Resear heronFormalMethodsAward.

(16)

Symposium on Leveraging Appli ations of Formal Methods 2006 [LL06℄,d'une pu-bli ationetd'uneprésentationlorsdela onféren eAustralianSoftwareEngineering Conferen e 2007 [LGP07b ℄, ainsi que d'une soumission au journal Formal Aspe ts of Computing [LG07 ℄.Au moment de naliser e manus rit, une versionlongue du papier [LGP07b℄vient d'être soumise au journal Journal of Software [LGP07a℄, et un brevet est en ours de dépt

4

. De façon usuelle, le manus rit se terminera par une on lusion,quiré apitule les ontributions de nostravaux.

1.3 Graphe de ot de ontrle (CFG)

Pouranalyserunprogramme,untravailimportant onsisteà omprendreleot de ontrle  les suites d'exé utions possibles dans le programme. Ce travail est relativement simple pour des programmes é rits dans un langage bien stru turé. Cependant, si des onstru tions omme les instru tions de bran hement (goto ...) sont autorisées dans le programme, ela introduit des sauts quel onques dans le ontrle du programme,que l'onappelle alors programme non-stru turé, et l'iden-ti ation des ots de ontrle possibles devient non-triviale. Pour ette raison, on utilise souvent une représentation à basede graphes.

Cette appro he onsiste à asso ier à haque programme un graphe, dénommé graphe de ot de ontrle, fg en abrégé

5

[AK02 , Mu 97℄, dans lequel les n÷uds représententlesae tationsduprogramme,etlesar sreprésententleotde ontrle entre esn÷uds.

Dénition 1.1 (Graphe de ot de ontrle) Un graphedeotde ontrleest un graphe orienté étiqueté

G

= (X, N, A, n

e

, n

s

)

:



X

est l'ensemble des variables qui interviennent dans

G

; 

N

est l'ensemble des n÷uds de

G

;



A

est l'ensemble des ar s de

G

;

 Les ae tations et onditions sont représentés par les n÷uds

n

∈ N

et le ot de ontrleentreles n÷udsde

N

estreprésenté parles ar sdeotde ontrle

(n, m) ∈ A

, où

n

∈ N

et

m

∈ N

;

 Deux n÷uds spé iaux sontdistingués : len÷ud entrée, noté

n

e

, et len÷ud sortie, noté

n

s

. Ces n÷uds représentent respe tivement le début et la n du programme.

4

Le dépt du brevet BD1775 (MCF 9799) Rédu tion paramétrée de modèles d'automates ommuni antsàétédemandéparleCEAenavril2007.

5

(17)

Notations

 Soit

(n, m)

un ar dans

A

, alors on dira que

n

est un prédé esseur de

m

, et

m

est unsu esseurde

n

.

 On note

C

G

[n, m]

l'ensemble de tous les hemins nis dans

G

allant de

n

à

m

, et

C

G

[n, m[

l'ensemble de tous les hemins nisdans

G

allant de

n

à un prédé esseur de

m

.

 Onnote

c

= [n

1

, . . . , n

k

]

un hemin

c

∈ C

G

[n

1

, n

k

]

telque

∀ 1 ≤ i ≤ k, n

i

∈ N

et

∀ 1 ≤ j < k, (n

j

, n

j+1

) ∈ A

.

 Soit

E

un ensemble, on note

℘(E)

l'ensemble des parties nies de

E

, et on note

|E|

lenombre d'éléments (ou ardinal) de

E

.

Fig.1.1 Exemple deprogramme etle fg orrespondant.

Exemple 1.2 Lagure1.1montreunpetitprogrammeetsongraphedeotde on-trle.Lesn÷udssont désignéspar lenuméro deligne orrespondantà l'instru tion représentée.Le programmeenquestion al ule, étantdonnéune entrée

b

,lasomme etleproduitdes

b

premiers entiers.

(18)

Dénition 1.3 (Dénitions, utilisations) Soit

G

= (X, N, A, n

e

, n

s

)

un graphe de ot; les ensembles

def

n

et

ref

n

, pour tout

n

dans

N

, sontdénies par :



ref

n

est l'ensemble des variables utilisées au n÷ud

n

;



def

n

est l'ensemble des variables dénies (autrement dit, sur lesquelles on opère une ae tation) en

n

.

Exemple 1.4 Reprenons l'exemple de la gure 1.1. Le n÷ud 2 représente l'af-fe tation prod=1; le n÷ud 6 représente l'ae tation somme:=somme+a; le n÷ud 8 représente l'ae tationa:=a+1. Letableaude lagure1.2donnealors lavaleurdes ensembles

def

n

et

ref

n

,pour

n

∈ {

2

,

6

,

8

}

.

n

def

n

ref

n

2 {prod} {} 6 {somme} {somme,a}

8 {a} {a}

Fig. 1.2

def

n

et

ref

n

,pour

n

∈ {

2

,

6

,

8

}

dansle fgde lagure1.1.

Remarques Comme on peut le onstater dans l'exemple 1.4, pour un n÷ud

n

donné, il se peut qu'une variable

x

soit simultanément dans les deux ensembles

def

n

et

ref

n

.Selonlasémantiqueusuelledesprogrammes,on onsidèredans e as quele n÷ud

n

orrespond onsé utivement à une utilisation puisune dénition de lavariable

x

.

Onpeutrelierplusformellementlesdeuxfon tionsdénies i-dessusauxn÷uds dugrapheen étendant ladénitiondu CFGà

G

= (X, N, A, n

e

, n

s

, µ)

,où

µ

: N 7→

℘(X) × ℘(X)

est une fon tion qui fait la orrespondan e entre les n÷uds etleurs étiquettes [Kri03 ℄.Onladénit ainsi:

µ(n) = (def

n

, ref

n

)

.

Exemple 1.5 À nouveau,reprenons l'exemple de lagure 1.1. Pour donner

µ(

6

)

, onpeuté riresoit

µ(

6

) = ({

somme

}, {

somme, a

})

.

1.4 Rédu tion paramétrée de programmes : program sli- ing

Le on ept derédu tion paramétrée de programmes (ou programsli ing) fut in-troduit par Weiser[Wei81 ℄en tant que méthode pour abstraire unprogramme par

(19)

rapportàdespointsd'intérêtdans e mêmeprogramme, espointsparti uliers for-mant un ritère de rédu tion. Dans e adre d'analyse, unprogramme estabstrait parune sele tion, dansleprogrammelui-même, deséléments quiont uneinuen e potentielle surle ritère.Lesélémentsainsiséle tionnésforment unprogramme ap-pelétran hearrière,quiserasouhaitablementpluspetitetplusfa ileà omprendre que le programme original. En eet, on attend d'un algorithme de rédu tion pa-ramétrée qu'il retire un maximum des éléments qui n'ont au une relation ave le ritère. De manière analogue, un programme formé à partir d'une séle tion, dans leprogramme lui-même, des éléments potentiellement inuen és par le ritère, est appelé tran he avant.

Dans un de ses travaux, Weiser[Wei82℄indique que les programmeurs onstr-uisent mentalement des tran hes d'un programme lorsqu'ils déboguent elui- i, et par onséquent qu'un outil apable d'extraire automatiquement des tran hes d'un programmeunsli er permettraitd'améliorerl'e a itéetlasûretédupro essus dedébogagedeprogrammes.Lestravauxsus-nommésontapportélapremière prin- ipale motivation au développement d'un tel outil. Depuis lors, des te hniques de rédu tionparamétréeontétédéveloppéespourprendreen omptedes onstru tions etstru tures de données plus omplexes, omme les pro édures [HRB88℄, les ots de ontrle non-stru turés [BH93℄, les tableaux et pointeurs [Kri03 ℄, et la on ur-ren e[HCD

+

99,Kri98 , NR00,MT00℄.Des te hniquesde rédu tionparamétrée ont aussi été proposées pour des langages ou formalismes plus modernes, omme le langage Z [CR94 , BW05℄, les langages syn hrones [GR02℄, etles ma hines à états hiérar hiques [HW97, WDQ03 ℄. Aussi dérivé destravaux de Weiser, le on ept de rédu tionparamétréedynamique[KL88 ℄ onsisteàréduireunprogramme,non seule-ment par rapport à un ritère, maisaussipar rapportà une exé ution parti ulière (ouunensembled'exé utions) duprogramme.Plusieursauteursontpubliéleur ver-sionde l'étatdel'art surleste hniques derédu tionparamétrée [Tip95 ,XQZ

+

05 ℄. Enoutre, ila étédémontré quel'utilisation de te hniquesde rédu tionparamétrée peutêtrebénéquedansdesdomainesdere her heimportants, ommeparexemple lemodel he king [DHH

+

06℄. La quasi-totalité destravaux, dont nous onnaissons l'existen e,qui permettent de mettre en ÷uvrelaréalisation d'uneméthode de ré-du tion paramétrée (indépendamment du langage ou formalisme sur lequel ette méthode opère), peuvent être regroupés dansl'une des deux grandes lasses d'ap-pro hes quenousallonsintroduire danslereste de ette se tion.

(20)

1.4.1 Rédu tion paramétrée à la Weiser

Lapremièreappro hepeutêtreappeléerédu tionparamétréeàlaWeiser (W eiser-stylesli ing, ommelesuggèreKrinkedans[Kri03 ℄).Laméthode onsisteàrésoudre deséquationsquidénissentdesensemblesdevariablesetd'élémentsduprogramme quisontpertinentspour un ritère de rédu tiondonné.Leséquations peuvent être résoluespar re her he in rémentale d'unpoint xepour l'ensembledesparties per-tinentes du programme; lorsqu'il est trouvé, e point xe onstitue la tran he re- her hée.

Fig.1.3 Exemple derédu tion paramétrée deprogramme à la Weiser.

Exemple 1.6 Le le teur pourra se référer à l'exemple de la gure 1.3, où le pro-gramme sur la gau he est le programme que l'on a déjà pris en exemple dans la se tion 1.3, etle programme sur la droite est une tran he arrière, extraite du pro-grammeoriginal,parrapportau ritère{ligne

11

}.L'exempledelagure1.3montre bien l'intérêt quantitatif que peut avoir ette méthode de rédu tion paramétrée, puisque latran he al ulée est plus petite quele programme original, en terme de nombrede variables, ainsiqu'en termede nombre de lignesde ode. D'autre part, et exemple illustre aussi l'intérêt sémantique de la rédu tion paramétrée : i i, le ritère orrespond à la sortie du al ul du produit, or on voit bien que dans la tran he résultante tous les al uls indépendants sont retirés (notamment eux qui interviennent seulement dans le al ul de la somme). Par onséquent la rédu tion

(21)

paramétréepermetsur etexemple defo aliserleprogramme,demanièresûre, sur unefon tionalité donnée.

1.4.2 Rédu tionparamétréebaséesurdesrelationsdedépendan es Lase ondeprin ipale appro he,quenousdésigneronsparrédu tionparamétrée basée sur des relations de dépendan es, fait intervenir le al ul de relations de dé-pendan es entre les diérentes parties d'un programme. Dans e type d'appro he, une représentation additionnelle du programme  un graphe de dépendan es  est usuellement ontruite à partir des relations de dépendan es. Dans un graphe de dépendan es, les n÷udsreprésentent deséléments duprogramme (e.g ae tations, onditionnelles),tandisquelesar sreprésentent lesrelationsdedépendan es:deux éléments du programme sont mis en relation par une dépendan e si et seulement siilexiste un ar reliantles n÷uds orrespondants danslegraphede dépendan es. Lorsque toutes les relations de dépendan es sont transitives

6

, le problème de la rédu tion paramétrée se ramène à un problème d'atteignabilité dans le graphe de dépendan es [Kri03 , FOW87 ℄. Les tran hes obtenues de ette façon sont plus pré- ises que les tran hes obtenues par le biais despré édentes méthodes [FOW87℄. Il existedanslalittératurediérentesdénitionsdegraphes dedépendan es, ha une adaptée pour les utilisations souhaitées par leurs auteurs, etpour la plupart déri-véesduProgram Dependen e Graph d'Ottenstein (pdg)[OO84,FOW87℄; itonsle System Dependen e Graph d'Horwitz et al. [HRB88℄,le Threaded Program Depen-den e Graph de Krinke [Kri98 ℄, le Parallel Program Graph de Sarkar [Sar97 ℄, et le Multithreaded Dependen e Graph de Zhaoet al. [ZCU96 ℄.

Exemple 1.7 La gure 1.4 reprend le programme de lagure 1.1, etmontre une tran hede eprogrammeparrapportau ritère{n÷ud11}.Parrapportàl'exemple de la gure 1.3, et exemple montre don une autre manière de al uler la même tran he, ette fois- i par l'intermédiaire d'une méthode basée sur des relations de dépendan es. Les n÷uds et ar s non in lus dans la tran he sont représentés en pointillés; latran he ainsi al ulée est

S(

11

) = {

2

,

3

,

4

,

5

,

7

,

8

,

11

}

.

Larédu tionparamétrée baséesurdesrelations dedépendan esestunprin ipe très adaptable : on peut dénir les relations de dépendan es appropriées pour le langage iblé par l'appro he, puis onstruire un graphe de dépendan es ( omme

6

Transitivité:notion depré isiondes relationsdedépendan es,surlaquellenousreviendrons au hapitre5.

(22)

Fig. 1.4  pdg du programme de la gure 1.1, et tran he par rapport au ritère {n÷ud11}.

illustrépar lagure1.4), etnalement al ulerdestran hespar résolution de pro-blèmesd'atteignabilitédanslegraphededépendan es.Le pré isiond'uneappro he de rédu tion paramétrée basée surdes relations de dépendan es dépend fortement de deux fa teurs : les dénitions des relations de dépendan es, et les ara téris-tiques du langage iblé. Par exemple, dansle ontexte de larédu tion paramétrée de programmes on urrents, Krinke [Kri98 ℄ a introduit la notion de dépendan e d'interféren e,pour dénoterlesdépendan esquisontinduitespar lesle turesetles é ritures on urrentes devariables partagées,etlanotiondedépendan e transitive, pour évaluer lapré ision desrelations de dépendan es.

Grâ eàsonadaptabilité,sapré isionetsarelativesimpli itépourla ompréhen-sionetl'implémentation,leprin ipederédu tionparamétréebaséesurdesrelations de dépendan es asouvent étémis en÷uvre dansla littérature, en parti ulier lors-qu'ils'agitdeprendreen omptedes onstru tions omplexes[Kri03 ,NR00,BH93, HRB88,RAB

+

(23)
(24)

Analyse de ot de données

Ce hapitre introduit le adre théorique des analyses de ot de données, que nousutiliserons ommefondement des te hniquesde rédu tionparamétrée.

Sommaire

2.1 Introdu tion . . . 24 2.2 Notionsde théorie destreillis . . . 24 2.3 Appli ation aux analysesde ot de données . . . 28 2.3.1 Théoriedestreillisetanalysesdeotdedonnées . . . 29 2.3.2 Choixd'unsemi-treillis:unionouinterse tion?. . . 30 2.3.3 Choixd'unsemi-treillis:ensembledesinformationsdeot

dedonnées . . . 31 2.3.4 Produit artésiendetreillis . . . 32 2.3.5 Introdu tiond'unesémantiqueabstraite . . . 32 2.4 Résolution d'une analysede ot de données . . . 34 2.4.1 Introdu tion . . . 34 2.4.2 LasolutionJOPd'uneanalysedeotdedonnées. . . 34 2.4.3 LasolutionMFPd'uneanalysedeotdedonnées . . . . 36 2.4.4 ComparaisondessolutionsJOPetMFP . . . 36 2.4.5 Ve teursdebits . . . 38 2.5 Uneappli ation :Propagation des dénitions . . . 40 2.5.1 Dénition duproblèmeRD . . . 40 2.5.2 Dénition dutreillis . . . 41 2.5.3 Dénition delasémantiqueabstraite . . . 43 2.5.4 SolutionJOPpourleproblèmeRD. . . 44 2.5.5 SolutionMFP pourleproblèmeRD . . . 45 2.5.6 Ve teursdebitspourleproblèmeRD . . . 46

(25)

2.1 Introdu tion

Uneanalysedeotdedonnées(ouanalysedataow)estuneformetraditionnelle d'analysestatiquede programmes, qui a pour obje tif de trouverdesinformations sur le omportement du programme analysé, sans ee tivement l'exé uter. Dans e hapitre, la présentation adoptée ne onsiste pas à analyser des programmes dire tement,maispluttleurgraphedeotde ontrle( fg, f.se tion1.3page15). Pour résoudre un problème spé ique de ot de données, il n'est pas for ément né essaire de onsidérer la sémantique omplète du système; l'idée est don de onsidérer une sémantique abstraite, et plus simple, adaptée au problème (sur e plan, on peut direque les analysesde ot de données etl'interprétation abstraite

1 [CC77 ℄sont dessujets onnexes).

2.2 Notions de théorie des treillis

Dans ette se tion, nous dé rivons les notions de théorie des treillis qui per-mettent dedénir un adre formelpourfonder lesanalyses de ot dedonnées.

Dénition 2.1 (Ordre partiel) Un ordre partiel surunensemble

L

est une rela-tion

entre des ouples d'éléments de

L

:

 Réexive :

∀l ∈ L, l ⊑ l

;

 Antisymétrique :

∀l

1

, l

2

∈ L, l

1

⊑ l

2

∧ l

2

⊑ l

1

⇒ l

1

= l

2

;  Transitive :

∀l

1

, l

2

, l

3

∈ L, l

1

⊑ l

2

∧ l

2

⊑ l

3

⇒ l

1

⊑ l

3

Nous allons dénir les bornes inférieure et supérieure de deux éléments sur un ensemble muni d'un ordre partiel. Intuitivement, la borne inférieure de deux élé-ments

l

1

et

l

2

est un minorant de es deux éléments, et un majorant de tous les autres minorantsde

l

1

et

l

2

(autrement dit, leplus grand minorant de

l

1

et

l

2

);la borne supérieure de deux éléments

l

1

et

l

2

est un majorant de es deux éléments, etunminorant detousles autresmajorantsde

l

1

et

l

2

(autrement dit, lepluspetit majorant de

l

1

et

l

2

).

Dénition 2.2 (Borne inférieure, borne supérieure) Soit

L

unensemblemuni d'un ordre partiel

,soient

l

1

, l

2

∈ L

:

 Soit

m

∈ L

tel que

m

⊑ l

1

et

m

⊑ l

2

.Si

∀l ∈ L, l ⊑ l

1

∧ l ⊑ l

2

⇒ l ⊑ m

alors

m

est la borneinférieure de

(l

1

, l

2

)

; 1

L'interprétationabstraite estunethéorie del'approximationdis rète desémantiquesde sys-tèmesinformatiquesprin ipalementutiliséepourl'analyseetlavéri ationstatiquedelogi iels.

(26)

 Soit

M

∈ L

tel que

l

1

⊑ M

et

l

2

⊑ M

. Si

∀l ∈ L, l

1

⊑ l ∧ l

2

⊑ l ⇒ M ⊑ l

alors

M

est la borne supérieure de

(l

1

, l

2

)

.

Onremarque quepar dénition, pour haque oupled'éléments, laborne supé-rieureetlaborneinférieure sont uniques.

Dénition 2.3 (Treillis) Un treillis

T

est un uple

(L, ⊑, ⊓, ⊔)

où :



L

est unensemble munidel'ordre partiel

,tel que tout oupled'éléments de

L

possède une unique borne inférieure etune unique borne supérieure; 

et

sontdesopérationssurlesélémentsde

L

tellesquepourtous

l

1

, l

2

∈ L

,

l

1

⊓ l

2

est la borne inférieure de

(l

1

, l

2

)

, et

l

1

⊔ l

2

est la borne supérieure de

(l

1

, l

2

)

.

Dénition 2.4 (Treillis omplet) Un uple

T = (L, ⊑, ⊓, ⊔, ⊥, ⊤)

est un treillis omplet si

(L, ⊑, ⊓, ⊔)

est un treillis, et tout sous-ensemble

χ

de

L

possède une borne supérieure

F χ

et une borne inférieure

d

χ

. En parti ulier,

L

admet une borne inférieure et unebornesupérieure;on notera respe tivement

et

es deux éléments parti uliers de

T

, tels que :



est appelé élément 0 de

T

et vérie :

∀l ∈ L, ⊥ ⊑ l

; 

est appelé élément 1 de

T

et vérie :

∀l ∈ L, l ⊑ ⊤

.

Remarque Par dénition, un treillis

(L, ⊑, ⊓, ⊔)

est tel qu'il existe une borne supérieure et une borne inférieure pour tout ouple d'éléments de

L

:

∀l

1

, l

2

L, ∃m, M ∈ L | (m = l

1

⊓ l

2

) ∧ (M = l

1

⊔ l

2

)

. Si le treillis est ni (i.e.

L

est un ensembleni), elaimpliquequ'ilexisteunebornesupérieureetuneborneinférieure pour tout sous-ensemblede

L

,eten parti ulierpour

L

.

Tout treillisniest don untreillis omplet, en parti uliertout treillisni pos-sède un élément

0

etun élément

1

( ela n'est pas vraipour un treillis quel onque, f.exemple 2.5).

Exemple 2.5 Prenons l'exemple d'un treillis non ni : si

L

est l'ensemble des entiers relatifs Z, et

est la relation d'ordre sur les entiers

, alors tout ouple d'éléments de

L

possèdeune bornesupérieureetuneborneinférieure,maisiln'est pas vraique tout sous-ensemble de

L

possède une bornesupérieure ou une borne inférieure (un ontre-exemple estl'ensembleZlui-même).Cetreillis n'est don pas omplet.

(27)

{

a

,

b

,

}

{

a

,

b

}

{

a

,

}

{

b

,

}

{

a

}

{

b

}

{

}

2.1(a)

{

a

}

{

b

}

{

}

{

a

,

b

}

{

a

,

}

{

b

,

}

{

a

,

b

,

}

2.1(b)

Figure2.1 (a) Figure 2.1(b) Ordre partiel(

)

Borneinférieure (

)

Bornesupérieure (

)

Élément 0(

)

{

a

,

b

,

}

Élément 1(

)

{

a

,

b

,

}

Fig.2.1 Un exemple detreillis omplet

(℘({

a

,

b

,

}), ⊑, ⊓, ⊔, ⊥, ⊤)

.

Exemple 2.6 La gure 2.1donne deux représentationspossibles, gure2.1 (a)et gure2.1(b), d'untreillis omplet

(L, ⊑, ⊓, ⊔, ⊥, ⊤)

,où

L = ℘({

a

,

b

,

})

.

Les n÷uds du graphe représentent les éléments de

L

et les ar s représentent l'ordrepartiel

:deuxéléments sont omparables selon

seulement si lesn÷uds asso iés sont reliés par un ar . Pour illustrer le fait que

est un ordre partiel, notons que

{

b

,

}

et

{

a

,

}

sont deux éléments in omparables de e treillis. Ces deuxreprésentations sontasso iéesau hoix de l'ordrepartiel

sur

L

.

Si les éléments du treillis sont ordonnés selon l'in lusion d'ensembles

( f. -gure 2.1 (a)), alors un élément

l

1

est inférieur à un autre élément

l

2

selon

si et seulement si

l

1

⊆ l

2

. Selon l'ordre partiel

(i i,

),

l

1

∩ l

2

est inférieur à

l

1

et à

l

2

et tout autre minorant de

l

1

et

l

2

est inférieur à

l

1

∩ l

2

; plus formellement,

∀m ∈ L, m ⊆ l

1

∧ m ⊆ l

2

⇒ m ⊆ (l

1

∩ l

2

)

. Alors la borne inférieure

l

1

⊓ l

2

de deux éléments

l

1

et

l

2

de

L

, est par dénition

l

1

∩ l

2

, l'interse tion de es deux éléments ( f. dénition2.2). L'opérateur dual,

est l'union d'ensembles,

,i.e. la bornesupérieurede deuxéléments

l

1

et

l

2

est

l

1

∪ l

2

,l'unionde es deuxéléments. Par ontre, si les éléments du treillis sont ordonnés selon l'in lusion de sur-ensembles

( f.gure2.1(b)),alorsunélément

l

1

estinférieuràunautreélément

l

2

(28)

selon

si etseulement si

l

1

⊇ l

2

.De façon symétriqueau as pré édent, la borne inférieure

de deuxéléments estl'unionde esdeuxéléments. L'opérateur dual

est alors l'interse tion d'ensembles, et la borne supérieure de deux éléments est l'interse tionde esdeux éléments.

Enn, pourtout

l

dans

L

ona

∅ ⊆ l

,don l'élément

0

pourl'ordre

est

;pour tout

l

dans

L

ona

{

a

,

b

,

} ⊇ l

,don l'élément

0

pourl'ordre

est

{

a

,

b

,

}

( f. dé-nition 2.4). De manière analogue, l'élément

1

pour

est

{

a

,

b

,

}

; etl'élément

1

pour

est

.

Fig. 2.2Un ontre-exemple de treillis.

Exemple 2.7 Onnepeut onstruireuntreillisàpartirdetoutensemblemunid'un ordrepartiel:lagure2.2représente unensembleni

L = {

0

,

1

,

2

,

3

,

4

}

,munid'un ordrepartiel



,or iln'existepasde bornesupérieurepour

(

3

,

4

)

dans

L

.

(L, )

ne possède don pasles propriétés d'untreillis.

Dénition 2.8 (Chaîne) Soit

T = (L, ⊑, ⊓, ⊔)

un treillis. Une haîne de

T

est un sous-ensemble de

L

, totalement ordonné. Plus formellement,

χ

est une haîne de

T

si etseulement si

χ

⊆ L

et

∀l

1

, l

2

∈ χ, (l

1

⊑ l

2

) ∨ (l

2

⊑ l

1

)

.

Soit

χ

= {l

i

| i ≥ 0}

une haînede

T

.On ditque :



χ

est une haîne as endante si

∀i, j ≥ 0, i < j ⇒ l

i

⊑ l

j

; 

χ

est une haîne des endante si

∀i, j ≥ 0, i < j ⇒ l

j

⊑ l

i

; 

χ

se stabilise siil existe

n

N tel que

∀i ≥ n, l

n

= l

i

.

Exemple 2.9

χ

= {∅, {

}, {

a

,

}, {

a

,

b

,

}, {

a

,

b

,

}, . . .}

estune haîneas endante du treillis (a) de la gure 2.1, en eet on a :

∅ ⊑ {

} ⊑ {

a

,

} ⊑ {

a

,

b

,

} ⊑

(29)

Dénition 2.10 (Fon tion monotone) Soit

L

un ensemble, une fon tion

f

:

L 7→ L

est dite monotone siet seulement si

∀l

1

, l

2

∈ L, l

1

⊑ l

2

⇒ f (l

1

) ⊑ f (l

2

)

(les imagespar

f

des arguments sontordonnées de la même façon que les arguments). Dénition 2.11 (Points xes) Soit

f

: L 7→ L

une fon tion monotone sur un treillis omplet

T = (L, ⊑, ⊔, ⊓, ⊥, ⊤)

.



l

∈ L

est un pointxe de

f

si etseulement si

f

(l) = l

; 

f

est rédu tive en

l

si etseulement si

f

(l) ⊑ l

;



f

est extensive en

l

siet seulement si

f

(l) ⊒ l

;

 On dénit

F ix(f ) = {l | f (l) = l}

,

Red(f ) = {l | f (l) ⊑ l}

, et

Ext(f ) = {l |

f

(l) ⊒ l}

les ensembles asso iés à ettedénition.

Notations Soit

f

: L 7→ L

unefon tion monotone,l'expression

f

n

(x)

dénote

x

si

n

= 0

,et

f

(f

n−1

(x))

si

n >

0

.

Soit

T = (L, ⊑, ⊔, ⊓, ⊥, ⊤)

un treillis omplet; par dénition d'untreillis om-plet, l'ensemble

F ix(f )

a une borne supérieure et une borne inférieure. Ainsi, on note

lf p(f ) =

d

F ix(f )

et

gf p(f ) =

F F ix(f )

.

Exemple 2.12 Lagure2.3 donne unereprésentation desnotions introduites par ladénition2.11etles notations i-dessus.

Le résultat suivant est onnu omme le théorème du point xe de Tarski, et montreque

lf p(f )

estleplus petit point xede

f

,et que

gf p(f )

estle plusgrand point xede

f

.

Théorème2.13 (Théorème du point xe [Tar55, NNH99℄) Soit

T

untreillis omplet de la forme

(L, ⊑, ⊔, ⊓, ⊥, ⊤)

, soit

f

: L 7→ L

une fon tionsur

T

.Si

f

est monotone, alors

lf p(f )

et

gf p(f )

vérient:

lf p(f ) =

l

Red(f ) ∈ F ix(f )

gf p(f ) =

G

Ext(f ) ∈ F ix(f )

2.3 Appli ation aux analyses de ot de données

Nous allons voir dans ette partie omment les notions de théorie des treillis présentées dans la partie pré édente (se tion 2.2), ainsi que les résultats asso iés, peuvent être utilisés omme fondement d'une méthode de résolution des analyses de ot de données. Dans ette partie on traitera des analyses de ot de données

(30)

Red(f )

F ix(f )

Ext(f )

f

n

(⊤)

d

n

f

n

(⊤)

gf p(f )

lf p(f )

F

n

f

n

(⊥)

f

n

(⊥)

Fig. 2.3 Points xes etimagesd'unefon tion monotone.

en avant, e qui regroupe les analyses dans lesquelles l'information est toujours propagée danslesens du ot de ontrle,e.g. la propagation des dénitions.Étant donné les ara téristiques des graphes

2

employés omme base d'une analyse dans etteprésentation,lareformulationpourlesanalyses deotde donnéesenarrière

3 estassez immédiate, maisne serapasdé rite expli itement.

2.3.1 Théorie des treillis et analyses de ot de données

On peut présenter une analyse de ot de données omme larésolution d'équa-tions de ot de données, dans un adre d'analyse onstitué d'un treillis ompletet de fon tions de transfert. Il est souhaitable que les fon tions de transfert qui a-ra térisent une analyse de ot de données soient monotones, i.e. pour toute paire

(l

1

, l

2

)

d'éléments du domaine de dénitionde lafon tion,

l

1

⊑ l

2

⇒ f (l

1

) ⊑ f (l

2

)

( f.dénition2.10).Intuitivement elasigniequel'augmentation denotre onnais-san esurlesinformationsdeotdedonnéesenentréed'unn÷uddoitproduireune augmentationdenotre onnaissan esurlesinformationsdeotdedonnéesensortie

2

Notamment,uniquepointd'entréeetuniquepointdesortie. 3

Analyses danslesquelles l'information est toujourspropagée dansle sens inverse du ot de ontrle,e.g.l'analysedesvariables vivantes.

(31)

de e n÷ud(tout aumoins, ette onnaissan e ne doitpasdé roître).

L'analyse de ot de données d'un programme peut être spé iée en extrayant deséquations de e programme, etplus parti ulièrement, de songraphe de ot de ontrle ( fg, f. se tion 1.3 page 15). Soit

G

= (X, N, A, n

e

, n

s

)

le fg du pro-grammeà analyser;on ompte deux lasses d'équationsqui peuvent êtreextraites de

G

.Une lassed'équationsdeotdedonnéesdonnel'expressiondesinformations en entrée d'un n÷ud en fon tion des informations en sortie des prédé esseurs de e n÷ud, i.e.l'information d'entrée est donnée par l'ensemble des informations de sortiedesn÷udsdesquelsleot de ontrle peutprovenir.Ceséquationssont dela forme:

Inf o

entrée

(n) =

(

ι

si

n

= n

e

F{Inf o

sortie

(m) | (m, n) ∈ A}

sinon

ι

spé iel'information deot de donnéesinitiale.

L'autre lassed'équationsdeotdedonnéesdonnel'expressiondesinformations ensortie d'unn÷uden fon tiondesinformations en entrée de e même n÷ud.Ces équationssont de laforme :

Inf o

sortie

(n) = JnK(Inf o

entrée

(n))

JnK

estlafon tion de transfertasso iéeau n÷ud

n

.

Lestreillis sont utilisésdansle adred'uneanalyse deot de données pour :  représenter les informationsde ot de donnéespartiellement ordonnées,  démontrer l'existen e d'une solution qui peutêtre trouvée par re her he

ité-rativede point xe[KU77 ,NNH99, KSV96 ℄.

Endémontrantl'existen ed'unpointxe,lethéorèmedeTarski( f.théorème2.13) garantit l'existen e d'algorithmes itératifs qui terminent, pour les analyses de ot dedonnéesexpriméessousformedetreillisetfon tionsayantlesbonnespropriétés.

2.3.2 Choix d'un semi-treillis : union ou interse tion?

Dans le adre d'une analyse de ot de données ave un treillis

T

, un graphe

G

= (X, N, A, n

e

, n

s

)

et une fon tion monotone

f

, les valeurs asso iées à haque n÷udde

N

évoluent dansletreillis

T

dansunseulsens 'estune onséquen ede lamonotoniede

f

.Larésolutiond'uneanalysedeotdedonnées orrespondalorsà lare her hesoitduplusgrandpointxede

f

,soitdupluspetitpointxede

f

dans letreillis.Pour etteraisonilsutdesedonneruntreillismunid'unseulopérateur,

(32)

ou

;onparlealorsdesemi-treillis.Onneredonnerapaslesdénitionsexpli ites desemi-treillisetsemi-treillis omplet,quidé oulentdire tementdesdénitions2.3 et2.4.

Pour haque analyse de ot de données, on peutdésigner un opérateur natu-rel derésolution, typiquementl'unionoul'interse tiond'ensembles;e.g.

pourla propagation des dénitions, et

pour l'analyse des expressions disponibles. Dans le premier as on préférera omme base de l'analyse un semi-treillis de la forme

(L, ⊑, ⊔, ⊥)

,et dansle se ond as un semi-treillis de la forme

(L, ⊑, ⊓, ⊤)

. La for-mulation symétriqueest aussi e a e, maisnous l'éviterons arelle onduit à des représentations ontre-intuitive omme ellede lagure2.1(b).

Uneanalysedeotdedonnées,quiapouropérateurnaturelderésolutionl'union d'ensembles,apourbut detrouverlesplusgrandsensemblesquirésolvent les équa-tionsdeotdedonnées(i.e.leplusgrandpointxe).Lespropriétésdémontréespar ette analysesont vériées par au moinsun hemin d'exé ution atteignant l'entrée d'unn÷ud.Sil'opérateur naturel derésolution est l'interse tion d'ensembles,alors l'analyse a pour but de trouver les plus petits ensembles qui résolvent les équa-tionsde otdedonnées(i.e. lepluspetitpointxe).Lespropriétésdémontréespar etteanalysesontvériéespartousles heminsd'exé utionatteignant l'entréed'un n÷ud.

2.3.3 Choix d'un semi-treillis : ensemble des informations de ot de données

An de résoudre une analyse de ot de données dans le adre théorique dé rit dans e hapitre,on ommen epar onstruireunsemi-treillisàpartird'unensemble d'informations de ot de données. L'ensemble des informations de ot de données est ara téristiqueduprogrammesousanalyse,aussi etensembleestengénéralni ( etensemblepeut,parexemple,être onstruitàpartirdesvariablesduprogramme, qui sont en nombre ni). Dans e as, on peut direque lesemi-treillis des données dataow est omplet ( f. dénition 2.4 page 25, ainsi que la remarque asso iée). Ensuite, on détermine desfon tions de transfert sur e treillis, pour notre analyse deot dedonnées. Commeonl'avu, esfon tionsserontdepréféren emonotones, an que la onnaissan e ne diminue pas au ours de l'analyse, et an d'être en mesured'appliquer lethéorèmedu point xede Tarski(théorème 2.13).

Étant donné une analyse de ot de données dans un semi-treillis

T = (L, ⊑

,

⊔, ⊥)

, l'ensemble

L

est l'ensemble de toutes les possibilités pour l'information de otdedonnéesquipeutêtreasso iéeàunn÷uddugraphedeot,dansle adrede

(33)

l'analyse que l'on souhaite ee tuer. La réalisation de l'analyse de ot de données onsisteàasso ierà haquen÷uddugraphedeotunsous-ensembledel'ensemble quel'onnote

L

qui ontienttoutel'informationdeotdedonnéespossible.Tousles sous-ensemblesde

L

doiventpar onséquentêtredesélémentsde

L

.L'ensemble

L

est alors naturellement l'ensemble desparties niesde l'ensemble

L

qui ontient toute l'information de ot dedonnées. Le treillis

T

représenteles évolutions possiblesde l'information de ot dedonnées asso iéeà unn÷ud dugraphe deot, au oursde larésolution del'analyse de ot dedonnées.

Exemple 2.14 Le treillis représenté par la gure 2.1 page 26 est onstruit sur l'ensemble

℘({

a

,

b

,

})

.Supposonsqu'uneanalysedeotde donnéesd'ungraphe

G

soitbasée surl'ensemble

L = ℘({

a

,

b

,

})

.Alors

L

représente toutesles possibilités pour l'information de ot de données asso iée à un n÷ud de

G

, et

{

a

,

b

,

}

est l'ensemble quel'on aappelé

L

,qui ontient toutel'information de ot dedonnées.

2.3.4 Produit artésien de treillis

La orre tion de ette appro he basée sur la théoriedes treillis pour la résolu-tiond'analyses de ot dedonnées repose en partie sur lefait que leproduit arté-siende treillis est untreillis, muni d'unordre partielinduit. Notamment, letreillis qui représente l'ensemble despossibilités pour le al ulde l'information de ot de données du graphe de ot

G

= (X, N, A, n

e

, n

s

)

est basé sur le produit artésien

L × . . . × L = L

|N |

,munide l'ordre partielinduit



,dénipar :

1

,

2

∈ L

|N |

,

1

= (l

11

, l

12

, . . . , l

1n

) 

2

= (l

21

, l

22

, . . . , l

2n

)

sietseulement si

l

11

⊑ l

21

et

l

12

⊑ l

22

, . . . ,

et

l

1n

⊑ l

2n

Cetordrepartielinduit dénit lesopérations

et

surletreillisproduit artésien ( f.dénition2.2).

Lorsqueletreillisproduit artésienainsi onstruitvérieles onditions du théo-rèmedupoint xe,onsaitalors qu'ilexisteunpoint xeau al uldesinformations deot de données pour toutlegraphe deot, i.e.pour haque n÷uddugraphe.

2.3.5 Introdu tion d'une sémantique abstraite

Comme on l'a vu pré édemment, les analyses de ot de données onsistent à onsidérer une sémantique abstraite, adaptée au problème onsidéré, plutt que

(34)

la sémantique omplète du système ( f. se tion 2.1). Pour dénir la sémantique abstraite dusystème sousanalyse,on dénit unefon tion sémantiquede transfert, notée

JK

.Cettefon tiondé ritunespa e defon tionsde transfert,qui ontient une fon tion pour haquen÷ud dugraphe:

JK : N 7→ (L 7→ L)

N

estl'ensembledesn÷udsdugraphedeot,et

L

estl'ensembledesinformations de ot de données qui on ernent l'analyse en ours. Cette fon tion donne une sémantique abstraite à haque point du programme (et don à haque n÷ud du graphe de ot), en terme d'une transformation du semi-treillis

(L, ⊑, ⊔, ⊥)

dans lui-même.

Les fon tions de transfert d'une analyse de ot de données sont souvent de la forme

∀l ∈ L, JnK(l) = (l\nonp

n

) ∪ gen

n

, où

n

est un n÷ud du graphe, et

gen

n

, nonp

n

∈ L

représentent les informations de ot de données générées  res-pe tivement non propagées(ou bloquées) par len÷ud

n

.La propositionsuivante montreque lesfon tions de e type sont monotones.

Proposition 2.15 Soit

L

un ensemble, soient

b, g

∈ L

. Les fon tions de la forme

∀l ∈ L, f (l) = (l\b) ∪ g

sontmonotones.

Démonstration. Soit

(L, ⊑, ⊔, ⊥)

un semi-treillis, soient

b, g

deux éléments de

L

, soit

f

une fon tion dénie par

∀l ∈ L, f (l) = (l\b) ∪ g

. Pour rester dans le adre général, on onsidère que

peut être soit

soit

( f. se tion 2.3.2);on se pla e danslepremier as.Soient

l

1

, l

2

deuxélémentsde

L

tels que

l

1

⊑ l

2

.Ona:

l

1

⊑ l

2

⇒ l

1

⊆ l

2

⇒ (l

1

\b) ⊆ (l

2

\b)

⇒ (l

1

\b) ∪ g ⊆ (l

2

\b) ∪ g

⇒ f (l

1

) ⊆ f (l

2

)

⇒ f (l

1

) ⊑ f (l

2

)

Le as symétriqueoù

estinterprété par

se démontre demanière analogue. Par dénition d'unefon tion monotone ( f.dénition 2.10),laproposition 2.15est

démontrée.

Si un n÷ud représente l'instru tion vide

ǫ

( omme 'est habituellement le as des n÷uds

n

e

et

n

s

), alors on lui asso iel'identité sur

L

, notée

Id

L

. Une fon tion sémantiquedetransfert

JK

peutêtreétenduenaturellementpour ouvrirles hemins

(35)

nis.Pourtout hemin

c

= [n

1

, . . . , n

k

] ∈ C

G

[n

1

, n

k

]

,où

n

1

, . . . , n

k

∈ N

,ondénit:

JcK =

(

Id

L

si

c

= []

J[n

2

, . . . , n

k

]K ◦ Jn

1

K

sinon

2.4 Résolution d'une analyse de ot de données

2.4.1 Introdu tion

L'appro he ommunément adoptée dans la littérature pour résoudre une ana-lysedeot de donnéesdansde adre delathéoriedestreillis onsisteà dénirune solutionidéale maisindé idabledansle asgénéral,ainsiqu'unesolution algorith-miquequi approxime lasolution idéale de manière onservative, 'està dire sans introduired'erreur.Kildall[Kil73℄,KametUllman[KU77 ℄introduisentlessolutions MOP(MeetOverallPaths

4

)etMFP(MaximumFixed Point)d'uneanalysedeot de données dansun semi-treillis

(L, ⊑, ⊓, ⊤)

; 'est laprésentation laplus ouram-mentemployée [Mu 97 ,KSV96 ,CK98 ,NNH99,Kri03 ℄.Historiquement,lasolution MFPest appelée Maximum Fixed Point, bienqu'elle orresponde pour ertaines analysesàre her herlepluspetit point xedelafon tion sémantiquedetransfert. Laraisonenestquedanslalittérature lassique,lesanalysesdeotdedonnéessont leplus souvent formulées dans dessemi-treillis de la forme

(L, ⊑, ⊓, ⊤)

,et omme onl'a remarqué en se tion 2.3.2, ela onduit à une représentation ontre-intuitive pour les analysesdont l'opérateur naturel derésolution est

.

Nous adoptons la présentation duale, omme S.Graf et al. dans [GSL96 ℄ : les solutions JOP (Join Over all Paths

5

) et MFP (i i, MFP signie Minimum Fixed Point) d'une analyse de ot de données dans un semi-treillis

(L, ⊑, ⊔, ⊥)

. Cette stratégie onsiste à partir d'un élément initial du semi-treillis (typiquement,

), et atteindre le plus grand point xe de la fon tion sémantique de transfert par appli ation de

.

Lagure2.4page38donneuneillustration,pourlesanalysesdeotdedonnées, desdeuxformulations MOP/MFP etJOP/MFP.

2.4.2 La solution JOP d'une analyse de ot de données

La stratégie JOP [GSL96 ℄, pour Join Over all Paths ( f. se tion 2.4.1), dénit la solution de référen e, i.e. l'information de ot de données re her hée pour un

4

L'opérateurborneinférieure

estappelémeet enanglais. 5

(36)

pointdonnéduprogramme.L'idée onsisteàrassemblerl'information quel'onpeut trouversurtousles heminsquimènent aun÷uden onsidération, etainsiprendre en ompte toutesles exé utionspossibles.

Étant donnés un graphe de ot

G

= (X, N, A, n

e

, n

s

)

, un semi-treillis

(L, ⊑

,

⊔, ⊥)

,etune fon tion sémantique detransfert

JK : N 7→ (L 7→ L)

,lasolution JOP estdonnéepar :

∀n ∈ N, ∀l

0

∈ L,

J OP

(G,JK)

(n)(l

0

) =

F{JcK(l

0

) | c ∈ C

G

[n

e

, n[}

Cettesolutionnousdonne dire tementlesinformationssouhaitées, ependant Kam etUllman[KU77 ℄ontmontréque ettesolutionestindé idabledansle asgénéral: l'existen e d'un algorithme général pour al uler la solution JOP impliquerait la dé idabilité d'unproblème d'identi ation de sous- haîne

6

, onnupour être indé i-dable.

D'autrepart,onpeutremarquerquele al uldelasolutionJOPpourunn÷ud

n

ne peut terminer que pour des graphes omportant un nombre ni de hemins de

n

e

à

n

, i.e.

|C

G

[n

e

, n[|

doit être ni. Or, omme les graphes que l'on souhaite analyser représentent des programmes, ils omportent leplus souvent desbou les; elapeutinduireun nombreinni de heminsentredes n÷udsdu graphe.

Exemple 2.16 Soit

G

= (X, N, A, n

e

, n

s

)

legraphe de la gure1.1 page 16; sup-posons que

T = (L, ⊑, ⊔, ⊥)

et

JK : N 7→ (L 7→ L)

forment le adrethéorique d'une analysede ot de donnéesque l'onsouhaiteopérer sur

G

.Alors:

∀l

0

∈ L, JOP

(G,JK)

(

10

)(l

0

) =

G

{JcK(l

0

) | c ∈ C

G

[

entrée

,

10

[}

Or,

C

G

[

entrée

,

10

[

est un ensemble inni de hemins de

G

qui orrespondent à l'expression régulière

[

entrée

,

1

,

2

,

3

,

4

,

5

(,

6

,

7

,

8

)

,

10

]

; la solution

J OP

(G,JK)

(

10

)

n'est don pas al ulable dire tement.

Dans le asgénéral,lastratégie JOPne mènepasà l'élaboration d'algorithmes pour le al ul d'informations de ot de données; on s'oriente don vers une autre stratégie,appelée MFP.

6

Figure

Fig. 1.1  Exemple de programme et le fg orrespondant.
Fig. 1.3  Exemple de rédution paramétrée de programme à la W eiser.
Fig. 1.4  pdg du programme de la gure 1.1, et tranhe par rapport au ritère
Fig. 2.2  Un ontre-exemple de treillis.
+7

Références

Documents relatifs

32 Écrire une fonction auxiliaire retirant récursivement tous les descendants d’un lit- téral d’une formule, et l’utiliser pour implémenter l’algorithme défini à la

• Le premier, conçu pour occuper un peu moins du quart du temps imparti, est consacré au calcul d’un automate déterministe reconnaissant l’intersection des langages acceptés

28 – 30 Ces trois questions forment un tout concernant la transformation d’un co- dage de Prüfer en un codage racine-fils-frères : les deux premières proposent des exemples

S(q,a) d´enote l’ensemble des ´etats qui sont les successeurs imm´ediats de q, en d’autres termes tous les ´etats que l’on pourrait atteindre par la transition ´etiquet´ee par

Le foyer image est donc le point particulier de l'axe optique ou converge un faisceau de lumière arrivant sur la lentille parallèle à l'axe optique. Le plan perpendiculaire à

• Pour l’atelier Open-shop, toujours vraie, car il n’y a pas de contrainte de précédence et la véri- fication qu’une opération ne s’exécute qu’une seulement

Dans une première partie, nous étudions un algorithme probabiliste qui compte le nombre de mots différents dans une liste donnée.. Nous montrons qu’en modifiant légèrement

Ou Chantal réussira le cours si et seulement si Réginald l'échoue, ou Paul le réussira s'il étudie avec méthode et n'est pas fatigué La correction est uniquement accessible