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�
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
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
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.
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.
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.
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
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
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
6 Con lusion 141 6.1 Synthèse . . . 141 6.2 Perspe tives . . . 142
Bibliographie 147
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 ℄.
[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
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.
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.
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 dansG
;N
est l'ensemble des n÷uds deG
;
A
est l'ensemble des ar s deG
;Les ae tations et onditions sont représentés par les n÷uds
n
∈ N
et le ot de ontrleentreles n÷udsdeN
estreprésenté parles ar sdeotde ontrle(n, m) ∈ A
, oùn
∈ N
etm
∈ 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
Notations
Soit
(n, m)
un ar dansA
, alors on dira quen
est un prédé esseur dem
, etm
est unsu esseurden
.On note
C
G
[n, m]
l'ensemble de tous les hemins nis dansG
allant den
àm
, etC
G
[n, m[
l'ensemble de tous les hemins nisdansG
allant den
à un prédé esseur dem
.Onnote
c
= [n
1
, . . . , n
k
]
un heminc
∈ 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 deE
, et on note|E|
lenombre d'éléments (ou ardinal) deE
.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 etleproduitdesb
premiers entiers.Dénition 1.3 (Dénitions, utilisations) Soit
G
= (X, N, A, n
e
, n
s
)
un graphe de ot; les ensemblesdef
n
etref
n
, pour toutn
dansN
, sontdénies par :
ref
n
est l'ensemble des variables utilisées au n÷udn
;
def
n
est l'ensemble des variables dénies (autrement dit, sur lesquelles on opère une ae tation) enn
.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
etref
n
,pourn
∈ {
2,
6,
8}
.n
def
n
ref
n
2 {prod} {} 6 {somme} {somme,a}
8 {a} {a}
Fig. 1.2
def
n
etref
n
,pourn
∈ {
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 variablex
soit simultanément dans les deux ensemblesdef
n
etref
n
.Selonlasémantiqueusuelledesprogrammes,on onsidèredans e as quele n÷udn
orrespond onsé utivement à une utilisation puisune dénition de lavariablex
.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
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.
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 tionparamé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.
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
+
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
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 deL
: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
etl
2
est un minorant de es deux éléments, et un majorant de tous les autres minorantsdel
1
etl
2
(autrement dit, leplus grand minorant del
1
etl
2
);la borne supérieure de deux élémentsl
1
etl
2
est un majorant de es deux éléments, etunminorant detousles autresmajorantsdel
1
etl
2
(autrement dit, lepluspetit majorant del
1
etl
2
).Dénition 2.2 (Borne inférieure, borne supérieure) Soit
L
unensemblemuni d'un ordre partiel⊑
,soientl
1
, l
2
∈ L
:Soit
m
∈ L
tel quem
⊑ l
1
etm
⊑ l
2
.Si∀l ∈ L, l ⊑ l
1
∧ l ⊑ l
2
⇒ l ⊑ m
alorsm
est la borneinférieure de(l
1
, l
2
)
; 1L'interprétationabstraite estunethéorie del'approximationdis rète desémantiquesde sys-tèmesinformatiquesprin ipalementutiliséepourl'analyseetlavéri ationstatiquedelogi iels.
Soit
M
∈ L
tel quel
1
⊑ M
etl
2
⊑ M
. Si∀l ∈ L, l
1
⊑ l ∧ l
2
⊑ l ⇒ M ⊑ l
alorsM
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 deL
possède une unique borne inférieure etune unique borne supérieure;⊓
et⊔
sontdesopérationssurlesélémentsdeL
tellesquepourtousl
1
, l
2
∈ L
,l
1
⊓ l
2
est la borne inférieure de(l
1
, l
2
)
, etl
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χ
deL
possède une borne supérieureF χ
et une borne inférieured
χ
. En parti ulier,L
admet une borne inférieure et unebornesupérieure;on notera respe tivement⊥
et⊤
es deux éléments parti uliers deT
, tels que :
⊥
est appelé élément 0 deT
et vérie :∀l ∈ L, ⊥ ⊑ l
;⊤
est appelé élément 1 deT
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 deL
:∀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-ensembledeL
,eten parti ulierpourL
.Tout treillisniest don untreillis omplet, en parti uliertout treillisni pos-sède un élément
0
etun élément1
( 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 deL
possèdeune bornesupérieureetuneborneinférieure,maisiln'est pas vraique tout sous-ensemble deL
possède une bornesupérieure ou une borne inférieure (un ontre-exemple estl'ensembleZlui-même).Cetreillis n'est don pas omplet.⊓
⊔
{
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⊑
surL
.Si les éléments du treillis sont ordonnés selon l'in lusion d'ensembles
⊆
( f. -gure 2.1 (a)), alors un élémentl
1
est inférieur à un autre élémentl
2
selon⊑
si et seulement sil
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 del
1
etl
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érieurel
1
⊓ l
2
de deux élémentsl
1
etl
2
deL
, est par dénitionl
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émentsl
1
etl
2
estl
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émentl
1
estinférieuràunautreélémentl
2
selon
⊑
si etseulement sil
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
dansL
ona∅ ⊆ l
,don l'élément0
pourl'ordre⊆
est∅
;pour toutl
dansL
ona{
a,
b,
} ⊇ l
,don l'élément0
pourl'ordre⊇
est{
a,
b,
}
( f. dé-nition 2.4). De manière analogue, l'élément1
pour⊆
est{
a,
b,
}
; etl'élément1
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)
dansL
.(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 deT
est un sous-ensemble deL
, totalement ordonné. Plus formellement,χ
est une haîne deT
si etseulement siχ
⊆ L
et∀l
1
, l
2
∈ χ, (l
1
⊑ l
2
) ∨ (l
2
⊑ l
1
)
.Soit
χ
= {l
i
| i ≥ 0}
une haînedeT
.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 existen
∈
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,
} ⊑
Dénition 2.10 (Fon tion monotone) Soit
L
un ensemble, une fon tionf
:
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 imagesparf
des arguments sontordonnées de la même façon que les arguments). Dénition 2.11 (Points xes) Soitf
: L 7→ L
une fon tion monotone sur un treillis ompletT = (L, ⊑, ⊔, ⊓, ⊥, ⊤)
.
l
∈ L
est un pointxe def
si etseulement sif
(l) = l
;f
est rédu tive enl
si etseulement sif
(l) ⊑ l
;
f
est extensive enl
siet seulement sif
(l) ⊒ l
;On dénit
F ix(f ) = {l | f (l) = l}
,Red(f ) = {l | f (l) ⊑ l}
, etExt(f ) = {l |
f
(l) ⊒ l}
les ensembles asso iés à ettedénition.Notations Soit
f
: L 7→ L
unefon tion monotone,l'expressionf
n
(x)
dénote
x
sin
= 0
,etf
(f
n−1
(x))
si
n >
0
.Soit
T = (L, ⊑, ⊔, ⊓, ⊥, ⊤)
un treillis omplet; par dénition d'untreillis om-plet, l'ensembleF ix(f )
a une borne supérieure et une borne inférieure. Ainsi, on notelf p(f ) =
d
F ix(f )
etgf 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 xedef
,et quegf p(f )
estle plusgrand point xedef
.Théorème2.13 (Théorème du point xe [Tar55, NNH99℄) Soit
T
untreillis omplet de la forme(L, ⊑, ⊔, ⊓, ⊥, ⊤)
, soitf
: L 7→ L
une fon tionsurT
.Sif
est monotone, alorslf p(f )
etgf 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
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éesensortie2
Notamment,uniquepointd'entréeetuniquepointdesortie. 3
Analyses danslesquelles l'information est toujourspropagée dansle sens inverse du ot de ontrle,e.g.l'analysedesvariables vivantes.
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 deG
.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) =
(
ι
sin
= n
e
F{Inf o
sortie(m) | (m, n) ∈ A}
sinonoù
ι
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))
où
JnK
estlafon tion de transfertasso iéeau n÷udn
.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 grapheG
= (X, N, A, n
e
, n
s
)
et une fon tion monotonef
, les valeurs asso iées à haque n÷uddeN
évoluent dansletreillisT
dansunseulsens 'estune onséquen ede lamonotoniedef
.Larésolutiond'uneanalysedeotdedonnées orrespondalorsà lare her hesoitduplusgrandpointxedef
,soitdupluspetitpointxedef
dans letreillis.Pour etteraisonilsutdesedonneruntreillismunid'unseulopérateur,⊔
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'ensembleL
est l'ensemble de toutes les possibilités pour l'information de otdedonnéesquipeutêtreasso iéeàunn÷uddugraphedeot,dansle adredel'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-ensemblesdeL
doiventpar onséquentêtredesélémentsdeL
.L'ensembleL
est alors naturellement l'ensemble desparties niesde l'ensembleL
qui ontient toute l'information de ot dedonnées. Le treillisT
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'ungrapheG
soitbasée surl'ensembleL = ℘({
a,
b,
})
.AlorsL
représente toutesles possibilités pour l'information de ot de données asso iée à un n÷ud deG
, 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ésienL × . . . × 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
etl
12
⊑ l
22
, . . . ,
etl
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
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)
où
N
estl'ensembledesn÷udsdugraphedeot,etL
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, etgen
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÷udn
.La propositionsuivante montreque lesfon tions de e type sont monotones.Proposition 2.15 Soit
L
un ensemble, soientb, g
∈ L
. Les fon tions de la forme∀l ∈ L, f (l) = (l\b) ∪ g
sontmonotones.Démonstration. Soit
(L, ⊑, ⊔, ⊥)
un semi-treillis, soientb, g
deux éléments deL
, soitf
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.Soientl
1
, l
2
deuxélémentsdeL
tels quel
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.15estdémontrée.
△
Si un n÷ud représente l'instru tion vide
ǫ
( omme 'est habituellement le as des n÷udsn
e
etn
s
), alors on lui asso iel'identité surL
, notéeId
L
. Une fon tion sémantiquedetransfertJK
peutêtreétenduenaturellementpour ouvrirles heminsnis.Pourtout hemin
c
= [n
1
, . . . , n
k
] ∈ C
G
[n
1
, n
k
]
,oùn
1
, . . . , n
k
∈ N
,ondénit:JcK =
(
Id
L
sic
= []
J[n
2
, . . . , n
k
]K ◦ Jn
1
K
sinon2.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. 5pointdonné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 detransfertJK : 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 den
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 queT = (L, ⊑, ⊔, ⊥)
etJK : N 7→ (L 7→ L)
forment le adrethéorique d'une analysede ot de donnéesque l'onsouhaiteopérer surG
.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 deG
qui orrespondent à l'expression régulière[
entrée,
1,
2,
3,
4,
5(,
6,
7,
8)
∗
,
10
]
; la solutionJ 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