Nousallonsmaintenantdénirlanotionde hemind'exé utiondansunCFG.
Définition 4.3.1
Un hemin d'exé ution total d'un CFG
G =< N, E, e, s, δ, X, XL
>
orrespond à unhemin total selonla dénition B.2.1.
Notation11
Lanotation d'une séquen ede hemin souslaforme
(ai, b, aj)
∗
indiqueune séquen e asso iée à
unestru turerépétitivedu odepouvantêtreitéréede0àunnombreinnioudonnédefoisselon
letypedelastru turerépétitiveasso iée.
En asdeprésen ed'unestru turerépétitivedansunefon tion, haqueexé utiondelafon tion
ave unnombred'itérationsdiérentdanslabou leinduitunnouveau hemind'exé ution.
Notation12
Lanotation
Ch
∗
représentel'ensembledes heminsdontlaseulediéren eest lenombred'itéra-
tionsd'uneséquen einterne annotée
(ai, bi, . . . , bj, aj)
∗
asso iéeàunestru turerépétitive.
Pourobtenirlatra esymboliqued'exé utionasso iéeàun hemintotaldonné,nousappliquons
lafon tiond'étiquetagesur haqueélémentdelaséquen e onstituant e heminanderé upérer
lalisteordonnéedesinstru tionsexé utéesetdes onditionsévaluées.
Définition 4.3.2
La tra e symbolique d'exé ution d'un hemin
Ch(e, s) = (e, (e, b0), . . . , s)
notéeτ (Ch(e, s), δ)
aveδ
la fon tion d'étiquetageduCFGasso ié vérie:τ (Ch(e, s), δ) = (δN(e), δE((e, b0)), . . . , δN(s))
ave
δN(e) = δN(s) = ∅
Remarque(s) 15
Il pourra nous arriver par la suite de onfondre le hemin d'exé ution d'un CFG en terme de
séquen esd'ar setden÷uds ave latra esymboliqued'exé ution asso iéeà e heminenterme
desvariablesd'entrée,
X
,delafon tionainsiqu'unsous-ensembledesvariableslo alesde elle- i,XL
: une variable d'entréeou lo aled'unefon tion peut, en eet,ne pasêtre utiliséedans tousles heminsdelafon tion.Celanousamèneàdénirlesvariablesd'un hemin
V ar(Ch, G)
.Définition 4.3.3
Lesvariables d'un hemin
V ar(Ch, G)
aveG =< N, E, e, s, δ, X, XL>
leCFG orres-pondàl'ensemble desvariables de
X
etdeXL
utilisées et/ oudéniesdansle heminCh
tel que
V ar(Ch, G) ⊆ X ∪ XL
.Pournotrestratégiedegestiondesappelsdefon tions,nousallonsadapterladénitionB.2.2
de heminpartield'ungraphedel'annexeB.Celas'expliquedufaitquetouteinstru tiond'appel
dans le orps de la fon tion sous test est ontenu dans un hemin d'exé ution total et que le
sous- heminallantdel'entrée
e
duCFGàl'instru tionpré édantuneinstru tiond'appelpermetde ara tériser l'appel donné (nous verrons ela plus tard dans la partie III). La atégorie des
sous- hemins d'exé utions partiels nous intéressant est don les hemins partiels dont le n÷ud
d'origineest l'uniquen÷udd'entrée
e
dugraphe.Définition 4.3.4
Un hemin d'exé ution partiel du CFG,
G =< N, E, e, s, δ, X, XL
>
est un heminpartiel
Ch(ni, nj)
ausens de la dénition B.2.2 aveni
= e
etnj
tel que(nj, nj+1) ∈ E
ave
nj+1
unn÷uddugraphe orrespondantàuneinstru tiond'appeldéniedanslase tion2.6.3.
Remarque(s) 16
Parla suite,si nousnepré isons pasqu'un heminest partiel,ils'agirapardéfaut d'un hemin
d'exé ution total.De façongénériquenous noterons
Ch(e, n)
un heminpartiel ave lanotationChp(e, n)
.Illustration 32
Reprenonslagure4.5,unexemplede hemind'exé utiontotal:
Ch(e, s) = (e, a0, b0, a1, b2, a3, b3, a7, b5, a8, s)
alors un exemple de hemin partiel peut êtreChp(e, b0) = (e, a0, b0, a1)
sib2
étaitunblo debase ontenantuneinstru tiond'appel.A un hemin d'exé ution orrespond un sous-domaine en entrée de la fon tion entraînant
l'a tivation de e hemindansle CFGdela fon tion on ernée. Pourdénirle sous-domaineen
entrée asso ié, il s'agit d'exprimer le prédi at de hemin i.e. les onditions à satisfaire sur les
variablesd'entréedelafon tiongarantissantl'exé utiondu heminasso ié.
Définition 4.3.5
Soitun hemin d'exé utionnoté
Ch
extraitduCFGissudel'implantationde lafon tionf,le prédi atde heminasso ié
P C(Ch, f, X)
estla onjon tion de ontraintesexpriméessur
X
entraînant l'exé ution de e hemin. Unprédi at de hemin est une formule surL
universellement quantiéesurX.
L'algorithmedela méthode lassique de al ul d'un prédi at de hemin est ontenu dans la
gure4.6.
Nousdésignerons parvaleursinitiales desvariables d'entrée ommeles valeursinje tées àla
fon tionaumomentdesonappel 'est-à-direlesvaleursdesvariablesd'entréedelafon tionavant
toutedénition.
Illustration 33
Imaginons ettefois quelatra esymboliqued'exé ution ré upéréeest
Pourun hemin
Ch
deG =< N, E, e, s, δ, X, XL>
al ulerτ (Ch, δ)
etV ar(Ch, G)
Pour haquevariablevardans
V ar(Ch, G)
fairei ← 0
,annoterpar
i
haqueo urren edevaravanttoutedénitionPour haquedénitiondevarparuneexpressionexpfaire
i ← i + 1
Tantquevarn'estpasredéniefaire
indi er varpar
i
FinTantque
FinPour
Pour haqueutilisationdevar
i
Si
i 6= 0
etvar 6∈ V ar(Ch, G)|X
rempla er var
i
parexpjusqu'àunenouvelledénitiondevarFinSi
FinPour
FinPour
P C(Ch, f, X) ←
onjon tion des onditionsdeτ (Ch, δ)
ainsimodiéFIN
Fig.4.6Algorithme lassiquede al uldeprédi atde hemin
Appliquonslapremièreétapedel'algorithmesurlesvariablesdu hemindelafon tion(indi erà
zérolesvariablesavantdénition):
(result0= 0), (x0≥ 0), (b0= x0− 4), (b0− x0> 0), (result = x0+ result0)
Pourlase ondeétape,onin rémentelesindi esdesvariablesà haquedénition :
(result0= 0), (x0≥ 0), (b0= x0− 4), (b0− x0> 0), (result1= x0+ result0)
Ladernièreétape onsisteàexprimerlesvariablesdu heminparleurexpressionexpriméeen
fon tiondesvaleursinitialesd'entrée
(result0= 0), (x0≥ 0), (b0= x0− 4), (x0− 4 − x0≥ 0), (result1= x0+ 0)
Leprédi atasso ié orrespondàla onjon tiondes onditionsCdu heminexpriméesenfon tion
desvaleursinitialesdevariablesd'entréesoit:
P C(Ch, f onction
_bidon, x) = (x0≥ 0) ∧ (x0− 4 − x0≥ 0) = (x0≥ 0) ∧ (−4 ≥ 0)
Un hemin d'exé ution est dit faisable quand le système de ontraintes asso ié à son
prédi atestsatisable 'est-à-direpossèdeunesolution.Dansle as ontraire,onditquele hemin
est infaisable(ounonexé utable).
Illustration 34
Prenonsl'exempledu hemin
Ch(e, s) = (e, a0, b0, a1, b2, a3, b3, a7, b5, a8, s)
delagure4.5donnantle CFG de la fon tion fon tion_bidon. La tra e symbolique d'exé ution orrespondant à e
heminest:
τ (Ch(e, s), δ) = ((result = 0), (x ≥ 0), (b = x − 4), (b − x ≤ 0), (result = x + result))
equi orrespondauprédi at de hemin omposédusystème de ontraintes:
Cesystème de ontraintes possèdeplusieurssolutionsdont:(
x0= 0
),le heminasso iéest don faisable.Prenonsmaintenantleprédi atde hemindel'illustration33.Lesystèmede ontraintesasso ié
est:
(x0≥ 0) ∧ (−4 > 0)
Cesystème estinsatisabledon le heminasso ié estinfaisable.
Ledomained'un hemin orrespondàl'ensembledesvaleursenentréedelafon tionvériant
lespropriétésdéniesdansleprédi at de heminasso ié.
Définition 4.3.6
Soit un hemin d'exé ution noté
Ch
de la fon tionf
, le domaine de hemin asso iévérie :
Dom(Ch) = {(a1. . . an)|M |=ν
P C(Ch, f, X)}
ave
Dom(Ch) ⊆ Def (f )
etν
interprétationuniquesurM
telleque∀i, 1 ≤ i ≤ n, ν(xi) =
ai
pourX = (x1, . . . , xn)
.Lesdiérentesinstru tionsd'un heminpermettentdedénirdes ontraintessurlesvariables
enentréedelafon tionmaisaussides ontraintesinduitesparle al uldu heminsurlesvariables
ensortie.
Un hemind'exé ution
Ch
peut,en eet,être représentépar unerelation nomméele al uldu hemin notée
Ch(X, Y, f )
entre unsous-ensembledesvaleursenentréeetunsous-ensembledesvaleursensortie,sousréservequelesae tationsprésentesdansle hemin
Ch
soientexé utées.Le odomained'un hemin
Ch
delafon tionf
esttelque:CoDom(Ch) = {(b1. . . bm)|∃(a1. . . an) ∈ Dom(Ch), M |=ν
Ch(X, Y, f )}
ave