• Aucun résultat trouvé

Chemins d'exé ution et prédi ats de hemin

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 à un

hemin 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 tous

les 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)

ave

G =< N, E, e, s, δ, X, XL>

leCFG orres-

pondàl'ensemble desvariables de

X

etde

XL

utilisées et/ oudéniesdansle hemin

Ch

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'appelpermet

de 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 hemin

partiel

Ch(ni, nj)

ausens de la dénition B.2.2 ave

ni

= e

et

nj

tel que

(nj, nj+1) ∈ E

ave

nj+1

unn÷uddugraphe orrespondantàuneinstru tiond'appeldéniedanslase tion

2.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 lanotation

Chp(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 être

Chp(e, b0) = (e, a0, b0, a1)

si

b2

é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ées

sur

X

entraînant l'exé ution de e hemin. Unprédi at de hemin est une formule sur

L

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

de

G =< N, E, e, s, δ, X, XL>

al uler

τ (Ch, δ)

et

V ar(Ch, G)

Pour haquevariablevardans

V ar(Ch, G)

faire

i ← 0

,

annoterpar

i

haqueo urren edevaravanttoutedénition

Pour haquedénitiondevarparuneexpressionexpfaire

i ← i + 1

Tantquevarn'estpasredéniefaire

indi er varpar

i

FinTantque

FinPour

Pour haqueutilisationdevar

i

Si

i 6= 0

et

var 6∈ V ar(Ch, G)|X

rempla er var

i

parexpjusqu'àunenouvelledénitiondevar

FinSi

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.5donnant

le 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 tion

f

, 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étationuniquesur

M

telleque

∀i, 1 ≤ i ≤ n, ν(xi) =

ai

pour

X = (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 ul

du hemin notée

Ch(X, Y, f )

entre unsous-ensembledesvaleursenentréeetunsous-ensemble

desvaleursensortie,sousréservequelesae tationsprésentesdansle hemin

Ch

soientexé utées.

Le odomained'un hemin

Ch

delafon tion

f

esttelque:

CoDom(Ch) = {(b1. . . bm)|∃(a1. . . an) ∈ Dom(Ch), M |=ν

Ch(X, Y, f )}

ave

Ch(X, Y, f )

le al uldu heminet

Y = (y1, . . . , ym)

.

Documents relatifs