• Aucun résultat trouvé

Code Cloning Tracing: A New Approach to Trace Collection

N/A
N/A
Protected

Academic year: 2021

Partager "Code Cloning Tracing: A New Approach to Trace Collection"

Copied!
17
0
0

Texte intégral

(1)

HAL Id: inria-00073312

https://hal.inria.fr/inria-00073312

Submitted on 24 May 2006

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 abroad, or from public or private research centers.

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 publics ou privés.

Code Cloning Tracing: A New Approach to Trace Collection

Thierry Lafage, André Seznec, Erven Rohou, François Bodin

To cite this version:

Thierry Lafage, André Seznec, Erven Rohou, François Bodin. Code Cloning Tracing: A New Approach to Trace Collection. [Research Report] RR-3377, INRIA. 1998. �inria-00073312�

(2)

ISSN 0249-6399

a p p o r t

d e r e c h e r c h e

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Code Cloning Tracing: A New Approach to Trace Collection

Thierry Lafage, Andr´e Seznec, Erven Rohou, Fran¸cois Bodin

N ˚ 3377

March 1998

TH `EME 1

(3)
(4)

.0/2143657578:9<;>=?;A@B3ACDE%F57GIH#3KJ6E%3KLMCONP5QB3RESTA/2TAU+C%V25W;>E%XKTA1ZY[0T\F1ZE

]+^`_7a0b0cedgf<hijbk6l`mb noijp`i?nj_a0bi

q,r?s6tub n<vwoq x

f<kRyzyMsRrjn {zbr?b7|}^`br~|}^`b€\RK‚R‚ƒd„Ik6r~|}^…c7†6†6‡dˆcƒyzk6‰6b7i

Š‹Œ ŽWz66‘ ]#r~k6| b*’“{zrj”–•Rbij”—al`˜—k™nj”–sK”—i<k›š+”œ{`b˜–plzijb{n?b7|}^z`”—žŸl`bn?sb •Wk™˜—lzk™njba0”œ|r?sKyzr?s`| bi~i?sKrkRrj|}^z”–njb|*n~lzrjbk6z{M WsRr

a0ba0sKr?p¡^`”–b7rjkRrj|}^Kp¢yMbr?£¤sRr~aƒk6z| b6¥§¦esWšOb•6b7r ¨i?s6£¤n“škRr?bnjr~k6| b©|*sR˜–˜œb| n?”œsRª”œz{>lz|*b7iij”–‰K`”¬«A| k6Knb mŸb7| l`nj”–sK­i?˜œsWšo{`sWšo®¥

wei<sKŸ’Z˜œ”—`b-ij”œa-l`˜—k™n?”œsR”—z{zl>|*bi¯k6b•6b7©a0sRrjb{`”—ijkRi?n~r?sKlzioij˜–sWšo{`sWšo°¨Mij”œa-l`˜œk6n?”—`‰kRyzy`˜œ”œ|k™n?”œsR>io”—z| lzr~rj”œ`‰njrj”–˜œ˜–”œsR>ios™£

”—zijnjr~lz|*nj”–sKzi| kR`s6n±Mb›|*sKzi?”—{`b7r?b7{…š+”œnj^`sKl`nn~rjkR|*bijkRaƒy`˜–”—`‰M¥]+^`brjb*£¤sKr?bƒ|*sKKn?”—KlzsRlzi²ijs™£¤n“š k6rjbƒnjr~k6|*b| s6˜œ˜–b7|*n?”œsRIs™£

n~^`b|*sKa0yz˜–bn?b²šsRr~³R˜œsRkR{s™£%kƒ{`bi~³Kn?sKy| sRaƒyzl`njbr+| kRz`sRn ±Mb²bK•Ÿ”—ijk6‰6b{°¥

]+^`bvOsŸ{zbvO˜–sK`”—`‰©]#r~k6| ”œz‰©a-bnj^`s`{”—ik6”œa0b{´k6nk™˜œ˜œsWš+”œ`‰n~rjkR|*b›|*sR˜–˜œb| n?”œsRsKInj”œa0b|*sR>ijlza0”—`‰©k6y>y`˜–”—| k6n?”œsRzi¥

xŸkRaƒy`˜–”—`‰nj^zb0b m`b| lzn?”œsR©”—iPy>b7ru£¤sKrja0b7{©nj^>r?sKl`‰R^Ikijnjk6n?”—|0{>lzy`˜œ”œ|k™n?”œsRIk6z{…”œ>i?n~rjlza0b7Rn~k™nj”–sK©s™£nj^`bijsRlzr~|*b0|*s`{`bR¥-w

«Mr~ijnO|*sKyKps™£°n~^`b<| sŸ{zb<”—i,`b7k6rj˜–p-”œ{`b7Kn?”—| k™˜An?snj^`besRrj”–‰R”œzk6˜>|*s`{`bek6z{ƒš+”œ˜–˜Ab*m`b7| l`njb<a0sRijnµs™£°n~^`b<nj”œa0b6¥%]+^`b¯i?b7|*sKz{ƒ|*s`{`b

| sRyKp©”—i¯£¶lzr?n~^`brP”—zijnjr~lza0bKn?b7{I±Kp©n~^`bnjr~k6| b0l>i?b7r²k6z{Iš+”–˜œ˜,±Mbyzk6r~i?”—a0sR`”œsRl>i?˜œp·b*m`b|l`n?b7{…”—IsRr~{`br¯n?s·| s6˜œ˜–b7|*nPnjr~k6| bi

š+”œnj^`sKl`nij˜–sWš+”—`‰·{`sWšoIn?sŸs·alz|}^Inj^`bsW•Rbr~k™˜œ˜%k6yzy`˜œ”—| k™nj”–sK®¥w n²b*m`b|l`n?”œsRIn?”—a0b6¨2i?sKa0b·¸ ¹W¸*ºM»¶¼aƒk6³™bƒn~^`bb*m`b|l`n?”œsR

ijš+”–n~|}^·n?snj^`b0”—zi?n~rjl>a-b7Kn?b{…|*s`{`b-| sRyKp6¥²½enj^`b7r0¸ ¹W¸*ºM»¶¼aƒk6³6bn~^`bb mŸb7| l`nj”–sK©rjb njl>rj·njsn~^`bsKr?”œ‰6”—zk™˜–’4˜–”—³™b| sŸ{zb-|*sKyKp6¥

]+^`b|}^zs6”—|*bPs™£nj^`b7i?b¸ ¹¾¸ º>»¿¼²{`b njbr~a-”—`b7i nj^`b²b mŸb7| l`nj”–sKsW•Rbr~^`bkR{®¨Ÿnj^`b7r?b £¤sRrjb¯aƒkR³R”—`‰ƒnj^zbk6yzyzrjsRkR|}^›•RbrjpƒÀ>b*m`”—±`˜–bR¥

]+^`”—i%yzkRy>b7r%yzr?b7i?b7Knji2”—-{`bnjk6”–˜—i%nj^zbovOs`{`bevO˜œsRz”œ`‰²]rjkR|*”—`‰Pa-bnj^`s`{®¥ÁÂbok™˜—i?sPyzrjbijbKn

6zöİŶÆ

¨6nj^zb «Mrjijn%yzrjs6n?sRn“p`y>b

”—aƒy`˜–b7a0bKn?b7{…njs•Wk™˜œ”—{zk™njbnj^zb0kRyzyzrjsRk6|}^°¥eÇ%mzyMbrj”œa0b7Rn~iPij^`sWšn~^zk™nvOs`{`b›vO˜–sK`”œz‰]rjkR|*”—`‰| sRl`˜—{…±Mb0kRyzy`˜œ”–b7{©sK©k™˜œ˜

kRyzy`˜œ”œ|k™n?”œsR>irjl>z`”—`‰·sR´{`b7ij³KnjsRy|*sKa0y>l`n?b7r²š+”–n~^`sRlzn-ij”–‰K`”¬«A| k6Knj˜–p…k™ÈAb7|*nj”œ`‰Ilzi?b7rrjbi~y>sKzi?bƒnj”œa0bšo^zbnjr~k6| bi²kRr?b

`sRne| s6˜œ˜–b7|*n?b7{®¥o]+^`”—i<sKy>b7zion~^`bš k¾pn?syzl>z|*n~lzk™˜É¶˜œb n¯lziei~k¾psK`bijb| sRz{s6£vOqµÊPËo|*s6˜œ˜œb|*nj”–sKs™£µn~^`bšo^`sR˜–b-k6|*nj”–•Ÿ”œn“p

s6£2kƒ{`b7ij³Kn?sKy| sRaƒyzl`njbr¥

̝ÍKÎBÏjÐ-Ñ ŽWҌ6‘ i?s6£¤n“škRr?b¯njr~k6| ”œz‰>¨zijnjk™nj”œ|²| s`{`bk6zzs6njk6n?”œsRa0b nj^zsŸ{°¨Ma0”œ|r?s6’4kRrj|}^z”–njb|*n~lzrjb¯ij”œa-l`˜—k™n?”œsR°¨`njr~k6|*b ’4| s6˜œ˜–b7|*nj”–sK

y`˜—k™n?£¤sRr~a¥

ÓÕÔ°Ö?×4Ø7ÙÖ+Úۗ×4ÜZÝ Þ

Unit´e de recherche INRIA Rennes

IRISA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France) T´el´ephone : 02 99 84 71 00 - International : +33 2 99 84 71 00

T´el´ecopie : 02 99 84 71 71 - International : +33 2 99 84 71 71

(5)

&# !##(

Œ ‘ kÂa-hnj^`s`{`b6¸WºÕº "!$#%Õº& b*mzyMsRijh b{zk6>i0| b nk6rjn?”—|*˜œby>b7rja0b nƒ˜—kI| s6˜œ˜–b7|*njb{`bn~rjkR|*biƒi~lzrƒ{`b

‰Kr?sKijijbiPk6y>y`˜–”—| k6n?”œsRziƒÉZ|*s&'`n?b7lzi?b7i²bÂnjbaƒyzi}Ë ¥ÊeÂh|}^zkRKn?”œ˜–˜œsRz>k™‰6bƒb7i?nrjhk6˜–”—i?hyzkRrP˜)(b*m`h7| l`nj”–sKÂk6˜–njbr~zk™nj”–•Rb{`b›{`bl`m

| sRy`”œbie{zl·|*s`{`bR¥+Êe`b0{`bie|*sRyz”–b7i+bijn<yzrjbi~žŸl`b”—{`bKn?”—žŸl`bkRl·|*s`{`bsKr?”œ‰6”—zk™˜\b n<i*(b m`h| lzn?b˜—k›y`˜—lzyzkRr?n<{>ln?baƒyzi-É)+lz`b

•Ÿ”œn?bi~ijb-yzrjs`|}^`b{`b0|*b ˜œ˜œb-{`b-˜)(k6yzyz˜–”—| k6n?”œsRsRrj”œ‰6”—zk™˜œb¾Ë}¥ k›ijb| sRz{zb|*sKy`”–b0{zl©| sŸ{zbbijn<”—zijnjr~lza0bKn?hb-y`˜—lzie˜–sKlzr~{`ba0bKn

yMsRlzr<y>b7rja0b njnjrjb˜—k|*s6˜œ˜œb|*njb²b*ÈBb| n?”œ•6b{`b˜—kƒnjr~k6| b6¥+vOb ˜œ˜–b ’4| ”°bijn+b*m`h|l`n?hbk¾•6b7|²yzk6r~|*”—a0sR`”œb²y>sKlzro`by>k6i+n~r?sKyr~k™˜œbKn?”—r

˜,(kRyzy`˜œ”œ|k™nj”–sKnjbijn?h bR¥- ˜)(b*m`h7| l`nj”–sK®¨z|*b7r?n~k™”—zi h •Rh`b7a-b7Knji+yMbr~a-bn?njbKn+˜–bi~k6lzn {.(lzzb|*sRyz”–b/+0˜)(k6lznjrjb6¥

(kRr?nj”œ| ˜–bƒyzrjhijbKn?bƒk6lzi~ij”2l>Iyzrjba0”œbrPyzrjs6njs6n“p`y>bR¨®k6yzyMb ˜œh 6zÃ¶Ä°Å¶Æ ¨\y>sKlzr¯”œaƒy`˜œha0b7RnjbrP˜—ka0hnj^`s`{`b0*R¸123™ºÕº

"!$#%Õº&6¥q2sKlzr²˜œb›a-sKa0bKn ¨ 6zÃ¶Ä°Å¶Æ b7i?nlzn?”œ˜–”—i?h›k¾•Rb|0{`bik6yzy`˜œ”—| k™nj”–sKzi²a0sR`s6’Zn546|}^`b7i²ijl>r²k6r~|}^`”–njb| njlzrjbxKq®wof<ve¥ bi

rjhi~l`˜œnjk™n~isK±`n?b7Kl>ik¾•6b7|{`bi-k6yzy`˜œ”—| k™nj”–sKzi”—zijnjr~lza0bKn?hbiy>k6r RzÃ¤Ä°Å¿Æ ¨%i*(b m`h| lznjk6Kni~k6>i²‰6h7`hrjbr{zb›njr~k6| b6¨sRKn²£¶k™”œn

kRyzyzk6r~k76Õnjrjbƒ{`b0£¶k™”—±`˜–b7i²rjk6˜–b7Kn?”—ijijba0bKn~i¯{zb˜)(b*m`h|l`n?”œsRªÉ,8$9:+;9=<ƒË ¥vOb| ”%sRl`•`rjb-˜—k•6s6”œb{`bƒ˜œk| s6˜œ˜–b7|*n?b{`bn~rjkR|*bƒ{`b

˜,(kR|*nj”–•Ÿ”œn?hP|*sRaƒy`˜œ_ njb¯{.(lzzbPijnjk6n?”œsR{`ben~rjk¾•Wk6”–˜Z¥#q2sKlzr |*b ˜—kz¨ 6>Ã¤Ä°Å¶Æ ijbr~k±z”–b7Rn">6nh njbz{zlyMsRlzry>b7rja0bn?njrjbP{`bPnjr~k6|*b7r,{`b7i

kRyzy`˜œ”œ|k™n?”œsR>i+al`˜œn?”–’Zn546|}^`b7i+k™”—zij”°žKlzb¯˜œbijpŸijn?_7a0bP{.(b m`yz˜–sR”–n~k™n?”œsRIÉ ”œŸlŸmMË}¥

Œ Ï Rà ‘ |*s6˜œ˜œb|*njb{`bnjr~k6| biP{`b›yzrjs6‰KrjkRa0a0bR¨Ba0hnj^`s`{`b›{@(k6>`s6n~k™n?”œsRÂijnjk™nj”œžŸl`b{`b| sŸ{zb6¨#ij”—al`˜—k™nj”–sKI{`ba0”—| rjs™’

kRrj|}^`”œn?b7|*n~lzr?bR¨zy`˜—k™n?b ’¿£¤sKrja0bP{`b|*sR˜–˜œb| n?b²{`b²n~rjkR|*bi¥

(6)

&#

,&#* P&

P&*:

]rjkR|*b ’4{zrj”œ•6bi?”—alz˜œk6n?”œsRu”—K•6s6˜œ•6b7i {zr?”œ•Ÿ”œz‰ƒkƒij”œa-l`˜—k™n?”œsRa0s`{`b ˜\s™£%k0ijp`i?njba š+”–n~^k0n~rjkR|*bPs™£2b*m`n?b7rj>k™˜°ijn?”—al`˜œ”–c84¥

“n0^zk6i±Mb b7¢lzijb{´±Kpr?b7i?b7k6r~|}^`br~ie£¤sRr{`b7| kR{`bin?s©b•¾k6˜œl>k™n?b›a0”—| rjsRyzrjs`|*b7ijijsRrPk6r~|}^`”œn?b7|*njl>r?b7ik6z{A ¾sRr²a0b7a-sKr?pÂi?p`ijn?b7a

yMbr?£¤sRr~aƒk6z| bi¥%xŸl>|}^i?”—al`˜—k™nj”–sKziµa0”œ‰R^Knµ±>b¯k6iµkR| |lzrjk6n?bokRiµy>sKijij”—±`˜–bek6z{ƒrjbžŸl`”—r?bo| s6˜œ˜–b7|*n?”—`‰rjbk6˜–”—i?nj”œ|+y>r?sR‰Rr~k6an~rjkR|*bi¥

]+^`b7i?bƒn~rjkR|*bi²aƒk¾p…| sRzij”—i?n¯s™£ nj^`b›kR{z{zrjbi~i?b7i¯s™£O”—zijnjr~lz|*nj”–sKziPb*m`b7| l`njb{Âk6z{M WsRrP{zk6njkr?b £¤brjbz| b{±Kp…kyzr?sR‰Rr~k6a ɤ£¤sKr

|k6|}^`b+ij”œa-l`˜œk6n?”œsRzi}Ë ¨K±zl`n,aƒk¾pk6˜œijs²±>borjb ‰R”œijn?b7rji2sKr%a0ba0sRrjp•Wk™˜—l`bioɶn?sij”—al`˜—k™njb+•¾k6˜œlzboyzr?b7{`”—|*n?”œsR£¤sRrµ”œzijnjkRz|*bWË ¥µxŸlz|}^

n~rjkR|*bi#k6rjb,`bb{`b7{²£¤sRr#k6r~|}^`”œn?b| njlzrjb,ij”œa-l`˜—k™n?”œsR>i\k6>{²•Wk™˜œ”œ{zk6n?”œsRzi#”—k<yzrjs`|*b7ijijsRr°{zbij”–‰K®¨¾sRr®£¤sKr#zb š¢a0”œ|r?s6’4kRrj|}^z”–njb|*n~lzrjb

”—{`bkRi •Wk™˜œ”œ{zk6n?”œsRzi¥

u{`b7k™˜œ˜–pR¨¾sR`bµšsRlz˜œ{²`bb{kR| | bi~i®n?senjr~k6|*b7i°rjbyzrjbijbKn?”—`‰+n~^`b,šo^`sR˜–bOyzlzz| njlzk6˜KkR|*n?”œ•Ÿ”–n“p¯s™£>košOsKrj³Ÿijnjk™nj”–sK¯sRr°ke{`bi~³Kn?sRy

| sRaƒyzl`njbrO£¤sRr k0i?”œ‰R`”–«M|k6Kn,nj”œa0bP”œKnjbrj•¾k6˜2É¿aƒk¾p`±>bPk£¤bš§ijb|*sKz{zi}Ë ¥%]+^`”—i”œz| ˜œl>{`bi k6| n?”œ•Ÿ”–n“ps6£#k™˜œ˜®k™˜œ”–•Rb¯yzrjs`|*b7ijijbiOk6z{

n~^`b-³6br~`b ˜Z¥+„©sRrjb sW•Rbr¨zsRzbšOsKl`˜—{˜–”—³™bn~^`bijbn~rjkR|*b7i+n?s±>b0r?b7yzr?b7i?b7Knjk™nj”–•RbPs™£µnj^zb-rjbk™˜#šOsKrj³K˜œsRkR{sKnj^`b0i?n~k™n?”œsR°¨M”Z¥bR¥

`sRne”—aƒa0b{`”—k™njb ˜œp…kW£¤njbrP±>sŸsRn?”—`‰n~^`bƒsRyMbr~k™n?”—`‰i?p`ijn?ba¨°±zlzne£¤sKr<”—zijnjkRz|*bƒk6I^`sRlzresRrPkšObb³˜—k™n?b7r ¥esWškR{zk¾p`i ¨A`s

y`˜—k™n?£¤sRr~a k™˜œ˜œsWšoi+ijlz|}^k6”—{`bk6˜®njr~k6|*b²| s6˜œ˜–b7|*n?”œsR°¥

„©sKi?n| lzr~rjbKnµnjr~k6| b*’“|*sR˜–˜œb| n?”œsRƒy`˜—k™nu£¤sKrjaƒik6rjbo˜œ”œa0”œn?b{n?s0|*s6˜œ˜œb|*nOnjr~k6| bi%£¶rjsRa k-i?”—`‰6˜œbekRyzy`˜œ”œ|k™nj”–sK®¨R‰Rb`b7rjk6˜–˜œp0sR`˜œp

lzijbrO”—zi?n~rjl>|*n?”œsR>iO”—n~^`”œi kRyzy`˜œ”œ|k™n?”œsR¬cZ¨`šo^z”–˜œbe”œnškRi,i~^`sWšonj^>k™nnj^`bPlzi~k™‰6bes™£\i~lz|}^l>z|*sKa0yz˜–bn?b{njr~k6| biµ˜œbkR{ziOn?s

ij”–‰K`”–«M| kRRn+a0”—i?˜œbkR{`”œz‰ƒ| sRz| ˜œl>i?”œsRzi–c6¨°c `¨®c¾‚Z¥

we`s6n~^`br |*sKz|*b7rj£¤sRra-”—| rjs™’“k6r~|}^`”œn?b7|*njl>r?b<ijnjl>{`”–b7i”œinj^zb¯yMbr?£¤sRr~aƒk6z| b<s™£#njr~k6|*b¯|*sR˜–˜œb| n?”œsR®¥%w<a0sK`‰-n~^`bPKl>a-b7r?sKlzi

n~rjkR|*b›|*sR˜–˜œb| n?”œsRy`˜—k™n?£¤sRr~a0ik¾•¾k6”–˜—k6±z˜–b!–c4¨zsR`bs6£n~^`ba k™˜œ˜–sWšoik·i?˜œsWšo{`sWšo©˜œsWšbrPnj^>k6­c*9£¤sKri?”—aƒy`˜œpÂ| s6˜œ˜–b7|*n?”—`‰

kR{z{zrjbi~i?b7i¯£¤sRra0ba0sKr?pÂ^`”–b7rjkRrj|}^Kp…ij”—al`˜—k™nj”–sKzi ¥#">sKri?n~lz{`”œbi²˜œ”—³™b›•Wk™˜—l`b›yzrjb{z”œ| n?”œsR$‚Z¨2a0sRrjb”œ`£¤sRr~a0k6n?”œsRal>i?n±Mb

| s6˜œ˜–b7|*n?b7{®¨zn~^Kl>i ˜–b7k6{`”—`‰ƒn?s•Rbrjp›^`”–‰K^ij˜œsWšo{`sWšozi¯É¶sW•Rbr¯c*9;9KË ¥

Á ^`”œ˜œb-n~rjkR|*b| s6˜œ˜–b7|*n?”œsR”—i¯žKlz”–njb-nj”œa0bƒ|*sR>ijlza0”—`‰>¨Ba0”œ|r?s6’4kRrj|}^z”–njb|*n~lzrjb0É¿sRr¯a0ba0sRrjpijp`i?njba›Ë+ij”—al`˜—k™nj”–sK·”œies™£¤njb

sKrj{`b7rji¯s6£ aƒk™‰K`”œnjlz{`ba0sRrjb|*sKa0yz˜–b mIk6z{Âaƒk¾p©”—z{zlz| b›i?˜œsWšo{`sWšozie”œÂn~^`b·c6¨9$9;9%Ac9z¨9$9;9rjkR`‰6bR¥xŸl>|}^Âkij”œa-l`˜—k™n?”œsR

r~k™njbe{`sŸbi`sRnOk™˜œ˜œsWš¡njs-| sRzij”œ{zbr,rjbk6˜–”—ijn?”—|<ij”œa-l`˜œk6n?”œsRƒs6£\nj^`bebKn?”—rjb<šsRr~³R˜œsRkR{0s™£\k{zbi~³RnjsRy›| sRaƒyzl`njbrOsRr,b •6b7›k˜—k6rj‰6b

kRyzy`˜œ”œ|k™n?”œsRÂb mŸb7| l`nj”œz‰n~r?”œ˜œ˜–”œsRzis™£ ”œzijnjr~lz| n?”œsRzi¥xK”—al`˜—k™nj”œz‰©ijlz|}^Âk6y>y`˜–”—| k6n?”œsRzi²rjbžŸl`”—rjbi²i~k6aƒy`˜œ”œ`‰& '4¥]+^`b7r?b £¤sRrjb6¨

kRyzk6rjnP•6brjp©i~y>b7|*”–«M|ƒi?n~lz{`”œbi²˜œ”œ³6b0|k6|}^`b±Mb^zk¾•Ÿ”œsRrPk6>k™˜œpŸij”—ies6£On~^`bšo^`s6˜œbxKqµÇv†&8±>b7z|}^zaƒk6r~³·ijlz”–njb()µšo^`”œ|}^Âlzijb{

a0sRKn~^zi+s™£,vOqµÊ€nj”œa0bR¨Ma0sRijnoi?n~lz{`”œbi+sK| k6|}^zb¯sKroa0”œ|r?s6’4kRrj|}^z”–njb|*n~lzrjbek6rjb²y>b7ru£¤sKrja0b7{l>i?”—`‰nj^zbP«Mrjijn²c*9;9z¨9$9;9z¨9$9$9sRr

±`”œ˜œ˜–”œsR·”—zijnjr~lz|*nj”–sKzios6£µk6·k6y>y`˜–”—| k6n?”œsRÂÉ¿aƒk¾p`±Mbnj^zb²«Mr~i?n*$9z¨9$9;9z¨9$9$90k6rjbi~³R”—yzyMb{·njsk¾•6sR”œ{n~^`b”—`”œn?”—k™˜œ”,+7k™n?”œsRyz^>k6ijb¾Ë

sKr+k6rjbPyMbr?£¤sRr~a0b{lzij”œ`‰kƒi~a0k6˜–˜®sKr+r?b7i?n~r?”—|*njb{{zk™n~kƒi?bn ¥

]+^`byzlzr~y>sKi?bs™£<n~^`”—i0y>k6yMbr-”œi-n?s”œKn~r?s`{zlz| bvOs`{`b·vO˜–sK`”œz‰I]rjkR|*”—`‰>¨µkI`b š ijs™£¤n“š k6rjbk6>`s6n~k™n?”œsR a-bnj^`s`{¢£¤sRr

| s6˜œ˜–b7|*n?”—`‰ƒnjr~k6| bi¥%x`k6aƒy`˜œ”œ`‰ƒn~^`b²b*m`b|l`n?”œsR”œi<y>b7ru£¤sKrja0b{nj^zrjsRlz‰R^kƒijnjk6n?”—|¯{>lzy`˜œ”œ|k™n?”œsRk6>{”—zijnjr~lza0bKnjk6n?”œsRs™£#n~^`b

| sŸ{zb6¥w«MrjijnP|*sRyKps™£Onj^`bƒ|*s`{`b-”œiP`b7k6rj˜–p”—{`bKn?”—| k6˜2n?sn~^`bƒsRrj”–‰R”œ>k™˜#| s`{`b0kRz{·š+”œ˜–˜2b mŸb7| l`njb0a0sKi?n¯s™£,n~^`b0n?”—a-bR¥]+^`b

ijb| sRz{|*s`{`b²|*sKyKp”œi£¶lzrjnj^zbr ”—zi?n~rjl>a-b7Kn?b{±Kp›nj^zb¯n~rjkR|*bPlzijbr.-ekRz{y>k6r~i?”—a0sR`”œsRlzij˜œp0b m`b| lzn?b{”—sKrj{`b7rn?sƒ‰6bnn~rjkR|*b

š+”œnj^`sKl`n+i?˜œsWš+”—`‰{`sWšonjsŸs0a-lz|}^›n~^`besW•Rbr~k™˜œ˜>k6y>y`˜–”—| k6n?”œsR®¥%w nb*m`b|l`n?”œsRn?”—a0b6¨`i?sKa0bƒ¸ ¹¾¸ º>»¿¼eaƒk6³6b<n~^`beb m`b| lzn?”œsR±Mb

ijš+”–n~|}^`b{0njs²nj^`bo”—zijnjr~lza0bKn?b7{ƒ|*sRyKp-s™£Bnj^`b<| s`{`b6¥µ½enj^`b7ro¸*¹W¸ º>»¿¼+aƒkR³™b+nj^zb+b*m`b|l`n?”œsRƒrjb njl>rj0n?s²n~^`bosKr?”œ‰6”—zk™˜–’4˜–”—³™b|*s`{`b

| sRyKp6¥%]+^`b|}^`sR”œ| bes6£n~^`b¸ ¹¾¸ º>»¿¼P{zb n?b7rja0”—`bi n~^`b²b*m`b7| l`nj”–sKsW•Rbr~^`bkR{nj^`b7r?b £¤sRrjb²a0kR³K”œ`‰0nj^zbk6yzyzrjsRkR|}^›•RbrjpƒÀ>b*m`”—±`˜–bR¥

]+^`b«Mr~ijnµk6{`•Wk6Kn~k™‰6bOs™£\vOs`{`b<vO˜–sK`”œz‰P]r~k6|*”—`‰¯”œiµn?s²k™˜œ˜–sWš njr~k6|*b+| s6˜œ˜–b7|*n?”œsR-”—-rjbk6˜–”—i?nj”œ|nj”œa0b+sR-˜—k6rj‰6b k6yzy`˜œ”—| k™nj”–sKzi

kRi²yzr?b7i?b7Kn?b{I”—In~^`”—iyzk6yMbr¥w<yzyz˜–pŸ”—`‰IvOs`{`bvO˜–sK`”œz‰]r~k6|*”—`‰n?s·kRIkRyzy`˜œ”œ|k™n?”œsRÂk™˜œ˜œsWšoienjs©|*sR˜–˜œb| n¯n~rjkR|*bi~k6aƒy`˜œbi

š+”œnj^`sKl`n,”—aƒyzk™”—rj”œ`‰-i?”œ‰R`”–«M|k6Kn?˜œp-n~^`b<sW•Rbr~k™˜œ˜`b*m`b|l`n?”œsR›n?”—a-bR¥,½¯lzr,l`˜œn?”—aƒk™njb<‰6sKk™˜z”—iOn?s±zlz”–˜—{›k*j|*˜œsRijb*’4n?s6’Z”—{`b7k™˜/Onjr~k6| b*’

| s6˜œ˜–b7|*n?”œsRIy`˜—k™nu£¤sKrja¥-ÁIby`˜—k6In?s·k6y>y`˜–pIvOs`{`bvO˜œsR`”—`‰]#r~k6| ”œz‰n?s·k|*sKa0yz˜–bn?bƒsRyMbr~k™nj”œ`‰i?p`ijn?b7a É ”œŸlŸmMËek6z{Ik™˜œ˜

kRyzy`˜œ”œ|k™n?”œsR>i+rjlz>`”œz‰0sKk0{zbi~³RnjsRy|*sKa0y>l`n?b7r ¥%]+^`b7®¨zšbij^`sKl`˜—{±Mbk6±`˜œbPn?s›| s6˜œ˜–b7|*n njr~k6| bPi~k6aƒy`˜œbi s6£#n~^`b|*sKa0yz˜–bn?b

šsRr~³K˜–sKk6{10®£¤sKr,”—zijnjkRz|*bR¨Rb•6brjp-^zsRlzrOkP£¤b š ijb| sRz{ziOk6| n?”œ•K”œn“pƒ| k6±Mb<n~rjkR|*b7{®¥2¦<sWšb •6b7r ¨6nj^`”—i,n~rjkR|*b ’4| s6˜œ˜–b7|*n?”œsRƒy`˜—k™n?£¤sRr~a

”—io±Mb p6sKz{nj^`bi~|*sKy>bPs™£2nj^z”œi+yzkRy>b7r ¥

]+^`b¯r?b7aƒk™”—z{`brµs™£°nj^z”œiyzk6yMbr,”œi,sRrj‰RkR`”,+b{ƒk6iµ£¤s6˜œ˜–sWšoi20”œƒn~^`be`b m`nOijb|*nj”–sK®¨KšOb+«ArjijnOyzrjbijbKn,ijsRa0b<rjb ˜—k™njb{ƒšsRr~³Ÿi ¨

n~^`bšOb<{zb njk6”–˜Anj^zbeyzrj”œ>|*”—y`˜–b7i,s6£®nj^`bPijkRaƒy`˜–”—`‰a0bnj^`s`{®¥,xKb7|*n?”œsRyzrjbijbKnji,n“šOs”—aƒy`˜œba0bKnjk6n?”œsRziOs™£°n~^`b<njsŸs6˜>šo^z”œ|}^

| s6˜œ˜–b7|*nn~rjkR|*b7i²£¤sRr0ij”œ`‰R˜–blzi?b7r-kRyzy`˜œ”œ|k™nj”–sKzi ¥Ifobi~l`˜œnji-sR´n~^`bxŸqµÇv†3©”œKnjb ‰6b7r-±Mb>|}^zaƒk6r~³Ii~l`”œn?bkRr?byzr?b7i?b7Kn?b{¢”œ

xKb7|*nj”–sK#4M¥,xKb| n?”œsR!0ijlzaƒaƒk6rj”5+ bin~^`”œi<i?n~lz{`pkRz{yzr?b7i?b7Knji sRl>r£¶l`njlzrjb{`b•6b ˜œsRy>a-b7Kn {z”œrjb| n?”œsRzi¥

6 7

(!* &#g *+µ&"#

u nj^`”—iƒi?b7|*n?”œsR°¨µšOb«Mr~i?n0sW•6b7r?•Ÿ”œb š i?sKa-brjb ˜—k™n?b7{´šsRr~³Ki-k6±MsRl`n-njr~k6| b|*sR˜–˜œb| n?”œsR´njsŸs6˜—i-”—z| ˜œlz{z”œ`‰±Ms6nj^ªi?n~k™nj”œ||*s`{`b

kRz`s6n~k™njsRr~ikRz{”œzijnjr~lz| n?”œsRŸ’“i?bn balz˜œk6n?sRr~i¥2]+^zb®¨`šbyzrjbijbKn nj^`b-vOs`{`bvO˜œsR`”—`‰]#r~k6| ”œz‰0kRyzyzrjsRk6|}^°¥

8:9;=<?>@;=ACBCDEAFGDEA>ED=HJILK<L;=MN=K;=MIOILKFGP?Q'RQ)DE<TSUMAVGDEPWP?DEX2QVGFG>EFILVY[Z\<LFI]ILD@A'^_HJR

ÛU`]abWc Ø7×_c@`

Z\FGVGVed)DfPL;=ghDE;=ADTZ\K;h>E;=VGVGDE>_IWPOQ<L;=N=<LRgiIW<LR>ED@P@j

k

D:lmPWKDnZoFGVGVMPLD?IWKDnp5<LRghD_Z1;=<LqZrDnQ<];:B2FGsD=H'dMItZ\FGVGVJRVGPL; ADEDEs*IL; FGAPLIL<LMghDEACItIWKDoIWDEPLILDEsRQQVGFG>@RmILFG;=APtIW;fN=DEItILKDnIL<WR>EDEP?KD:lmPLKDnZtRACIWP@j

uou Awv=vCx=x

(7)

"!#$%!'&)(+*-,/.10

qµ”–m`”–b –c'Z¨Kw%]<½e„ –c4'4¨6kRz{Ç,Ç Mk6rjb k6a0sR`‰¯nj^zboa-sKi?n%yMsRyzlz˜œkRrijnjk6n?”—| |*s`{`b+k6zzs6njk6n?”œsR-a-bnj^`s`{zi¥2qµ”–mŸ”œb sRyMbr~k™njbi

sKI„“qx…b*m`b|l`njkR±`˜–b7i²k6z{Âk6{>{zi²|*s`{`bnjs| sRlzKnPnj^zbb*m`b|l`n?”œsRIs™£ bkR|}^I±zkRi?”—|ƒ±`˜œsŸ|}³A¥w%]<½e„ ”œi²a0sKr?b0À>b mŸ”—±`˜œbk6z{

b7zk6±`˜œbikl>i?b7rµn?s0ijyMb| ”¬£¤p^`sWš:njs-kRz`s6n~k™njbobkR|}^”œ>{`”–•Ÿ”—{zlzk6˜M”—zijnjr~lz|*nj”–sK®¨K±>k6ij”œ|e±`˜–s`|}³-sRryzrjsŸ| b{zl>r?bos6£\k6b m`b| lznjk6±z˜–b

«>˜œb›£¤sKr32¯Çv w<˜œy>^zk…kRrj|}^`”œn?b7|*n~lzr?bR¥©]+^`brjbkRr?b›kRz`sRnjk™nj”–sK´y>sR”œKn~išo^`b7r?bnj^`blzijbr|k6¢i~yMb|*”–£¤pnj^`baƒk6|}^`”—`bijnjk6n?b

njsb mŸn~rjkR|*n¥¯Ç,Ç É¶Ç%m`b|l`njkR±`˜œb0ÇO{`”–nj”œz‰ ”œ±zr~k6rjp>Ë ”—iPk˜œ”œ±>rjkRr?pR¨>À>b m`”œ±`˜œbƒk6iešOb˜–˜Z¨®nj^zk6n¯k6˜–˜œsWšoienj^`bƒlzijbr¯n?ssRyMbr~k™n?b-sR

b mŸb7| l`n~k6±`˜œb+«>˜œbi¥%]+^`b<kR±zi?n~rjkR|*nj”–sK0y>r?sW•Ÿ”—{`b{±Kp0ÇµÇ k¾•Rs6”—{zi%njs{`bk6˜>š+”œnj^›aƒkR|}^`”œzb*’“{`byMbz{zbKn%£¤bk6njlzrjbiOk6z{i~lzyzyMsRrjn

xKq®w<fov kRrj|}^`”œn?b7|*n~lzr?bPk™n n~^`ba0sRa0bKn ¥

w<˜–˜2nj^zbijb0ijnjk6n?”—||*s`{`bƒk6>`s6n~k™n?”œsR…a-bnj^`s`{ziPkRr?b-n?s±Mbƒlzi?b7{©”—…klz`”—žKlzb-š k¾pr0+nj^`brjbi~l`˜–nj”œz‰b*m`b7| l`n~k6±`˜œb”—i¯sR`˜œp

aƒk6{zb+s™£B”œzijnjr~lza0bKnjb{ƒ|*s`{`bokRz{0š+”–˜œ˜>±Mbob*m`b|l`n?b7{0bKn?”—r?b˜–pR¥]+^Ÿlzi¨™njsŸ{>k¾p (i%ijnjk™nj”œ|+| s`{`bok6zzs6njk6n?b7{0y>r?sR‰Rr~k6aƒi\b m`b| lzn?b

ij˜–sWš+˜œp›šo^`b7nj^`bpk6rjb²lzi?b7{njsƒ£¤b b7{| sRaƒy`˜œb*m|k6|}^`b¯sRr+a0”—| rjs™’“k6r~|}^`”œn?b| njlzrjbeij”—al`˜—k™njsRr~i ¥,xŸlz|}^ij˜–sWšo`b7iji”—io{zl`bPnjs 0

c6¥ nj^`b²sW•Rbr~^`bkR{”—z{zlz| b{±Kp›nj^`b²b m`b| lzn?”œsRs™£2Kl>a-b7r?sKlzi+k6{>{`b{”œ>i?n~rjlza0b7Rn~k™nj”–sK”—zijnjr~lz|*nj”–sKzi54

8`¥ nj^`b0˜—k6rj‰6bij”,+bs™£µn~^`b0”œzijnjr~lza0bKnjb{©| sŸ{zbšo^`”—|}^©kWÈBb| nji¯i?”œ‰Rz”¬«M|k6Kn?˜œpnj^`b0±>b7^zk¾•Ÿ”–sKros6£µnj^`bƒa0ba0sRrjp^z”–b7rjkRrj|}^Kp

É¿yzkRr?nj”œ|l`˜—k6rj˜–p”—zijnjr~lz|*nj”–sK|k6|}^`bPk6>{] '6 Ë ¥

wek™˜œn?b7rj>k™n?”œ•6ben?sƒi?n~k™nj”œ|¯|*s`{`bPk6zzs6njk6n?”œsR”—i”œ>i?n~rjlz| n?”œsRbalz˜œk6n?”œsR®¥,xKsKa-ben?sŸs6˜—i {`”—r?b7|*n?˜œpba-l`˜—k™n?bebkR|}^›”—zi?n~rjl>|}’

nj”–sKs6£kƒ‰R”–•Rb›šsRr~³K˜–sKk6{”œsRr~{`b7rOnjsi?”—al`˜—k™njb²k6r~|}^`”–njb| njlzr~k™˜®|*sKaƒy>sK`bKnji¨zk6>{aƒk¾p±Mb²ijl>rjyzrj”—i?”—`‰6˜œpb7›| ”–b7Rn¥

xŸ^>k6{`b8 ”œi-k6”—zijnjr~lz|*nj”–sKŸ’4ijb nij”—al`˜—k™njsRr±zkRi?b7{ÂsR´{`p`zkRa-”—|n~rjkRzi?˜—k™nj”–sKÂs™£oi?”—alz˜œk6n?b{”—zijnjr~lz|*nj”–sKzi¥©½¯n~^`b

«Mr~ijn²sŸ|| lzr~rjbz| b-s6£ k±zkRi?”—|ƒ±`˜–s`|}³·”—k6k6y>y`˜–”—| k6n?”œsR®¨2xŸ^zk6{zbnjr~k6zij˜œk6n?b7ie”œn²”—Âk·ijbžŸl`b7z|*bƒs6£ zk6n?”œ•6bƒ”—zi?n~rjl>|*n?”œsR>iP”œ

šo^`”—|}^·”—zijnjr~lza0bKnjk6n?”œsR©| sŸ{zb£¤sRr<njr~k6| br?b7|*sKrj{`”—`‰”—i<b7a±Mb{z{zb{®¥½¯£¶lzrjnj^`b7r<s`| |lzr~r?b7z|*b7ios™£µn~^`b-i~k6a0b±>k6ij”œ|-±`˜–s`|}³A¨

n~^`b<b7al`˜—k™nj”–sK0ijbžŸl`b7z|*b+”—i,{z”œrjb| n?˜œp-”—K•6sR³6b{0±Kp-n~^`b<ij”œa-l`˜œk6n?sKr ¥%xK˜–sWšo{zsWšozi2£¶rjsRa†n?s›c24²šOb7r?borjbyMsRrjn?b7{0l>i?”—`‰-xŸ^zkR{`b

£¤sKr<k6{>{zr?b7ijionjr~k6|*b7io”—zijnjr~lza0bKnjk6n?”œsR®¥hes6n?bnj^zk6n<nj^z”œi¯k6yzy>r?sKk6|}^k™˜œ˜–sWšoi+njsn~rjkR|*b²nj^zb-k6| n?”œ•Ÿ”–n“p”œ…{`p`zk6a0”—| k™˜œ˜œp˜œ”œz³6b{

| sŸ{zbi¥

xK”—a›½²xƒ”—i+k-| sRaƒy`˜œb njb¯ij”œa-l`˜—k™n?”œsRbK•Ÿ”œrjsR>a-b7Kn|k6yzkR±`˜–bes™£2a-s`{`b˜–”—`‰ƒk6bKn?”—r?bP|*sKaƒyzl`n?b7r i?p`ijn?ba¨`”—z|*˜—lz{`”—`‰-£¶l`˜œ˜

sKy>b7rjk6n?”—`‰-ijp`i?njba k6>{k™˜œ˜®k6yzyz˜–”—| k6n?”œsR›yzrjs6‰KrjkRaƒiµnj^>k™n rjlzsRn?sRys™£\”œn¬cRcC4¥µxŸ”œa›½²xrjb ˜œ”œbisRn~^`b²ijkRa0beyzrj”œ>|*”—y`˜–b¯s™£

{`p`zkRa0”œ|0njr~k6>i?˜—k™nj”–sK©k6ixŸ^zkR{`b6¥¦<sWšb •6b7r ¨\xK”—a›½²x·k6˜–˜œsWšoiPk˜œbi~iP{`b n~k™”œ˜–b7{Ÿ’Zb m`b| lzn?”œsR©a0s`{`b| k6˜–˜œb{I{`”œrjb| nu’4b*m`b|l`n?”œsR

a0s`{`b0šo^`”œ|}^…| k6IyzrjsW•K”—{`ba0sKr?b-b*ÈBb|*nj”–•Rb-yMbr?£¤sRr~aƒk6z| b6¥P]+^`”œi¯a0s`{`b-”—i¯lzi?b7{©sK©i?b7|*nj”–sKzi<n~^`bƒlzi?b7r<”—i¯`s6n¯”œKnjbrjbijn?b{

”—¡njr~k6|*”—`‰¡É¶bR¥‰M¥ªn~^`bsRyMbr~k™n?”—`‰i?p`ijn?b7a±>sŸsRn0sKrƒnj^`b·±Mb ‰R”œzz”œ`‰s6£¯klzijbrƒk6yzyz˜–”—| k6n?”œsRMË}¥:xKš+”œnj|}^z”œ`‰Â£¶rjsRa{z”œrjb| nu’

b mŸb7| l`nj”–sK›a0s`{`benjssRnj^`b7r<É¿n?”—a-bP|*sKzi~lza0”œ`‰`Ë2b7al`˜—k™nj”–sKa-s`{`b7i¯É¶n?s0|*sR˜–˜œb| n,njr~k6| bi}Ë2sKb •RbKn,s`| |lzr~r?”—`‰²”—ik6˜–˜œsWšb{ƒ±Kp

n~^`bi?”—alz˜œk6n?sRr–c*9'Z¥

8 9:,<;=?>@;AB#!0:*-CEDF*G&!HDF#*I=?;=JHK,/$L>@;=J

"MsRrP˜—k6rj‰6bk6yzyz˜–”—| k6n?”œsRziP|*sKzi~lza0”œ`‰·ijb •Rbr~k™˜,vOqµÊ ^`sKlzrji¨°n~^`bnjr~k6| bƒ|k6zzs6n²±>b›rjbk6˜–”—ijn?”—| k™˜œ˜œp…i?njsRrjb{…sRr²|*sKzi~lza0b{Âk™n

b mŸb7| l`nj”–sKnj”œa0bÉ¿njrj”–˜œ˜–”œsR>i s™£2njr~k6|*b¯b ˜œba0b7Rn~i5MË ¥µ]#b|}^>`”œžŸl`b7i n?s›rjb{zl>|*bPnj^`”—i ˜—k6rj‰6bP{zk™n~k0ijb n+”—z| ˜œlz{zb0»,"!;#~¸¼%!ON

Õºk6i

i~l`‰6‰Rbijn?b7{±Kp4>¨w >¨>‡4¥%¦<sWšb •6b7r ¨`i~lz|}^n?b|}^>`”œžŸl`b7i+k™˜—i?sij˜–sWš§nj^`b²sW•Rbr~k™˜œ˜An~rjkR|*bP|*sR˜–˜œb| n?”œsRyzr?s`| bi~i ¥

uzijn?b7k6{s™£i~k6aƒy`˜œ”—`‰-n~^`b²r?b7ijlz˜–nj”œ`‰0njr~k6| b¯k™£¤n?b7reÉ¿sRr {zlzrj”—`‰ŸË,b*m`b7| l`nj”–sK›n?srjb{zl>|*b¯nj^`bPnjr~k6| be•Rs6˜—lza0bPW¨`šb¯y>r?sKy>sKi?b

njsijkRa0yz˜–b nj^zb+b*m`b|l`n?”œsR-s™£Anj^`boyzrjs6‰KrjkRa±Kp”œaƒy`˜œba0b7Rnj”œz‰²n“šOs¯b*m`b|l`n?”œsR0a0s`{`bi20khj`s™’4njr~k6| bO| s6˜œ˜–b7|*n?”œsRe a0s`{`b+k6z{

k ?njr~k6| b|*s6˜œ˜œb|*nj”–sKJPa0s`{`bR¥O]+^`”—i<a0”œ‰R^Knok™˜œ˜–sWš kƒ˜–sWš b*m`b7| l`nj”–sKij˜œsWšo{`sWšosKnj^`bkRyzy`˜œ”œ|k™nj”–sKyzkRr?n+šo^zbrjb²nj^`bn~rjkR|*b

š+”œ˜–˜`s6no±Mb|*sR˜–˜œb| n?b7{Iɶ£¤sRr+”—zijnjkRz|*bR¨zsRkƒ˜—k6rj‰6b²k6yzyz˜–”—| k6n?”œsR®¨za0sRrjb²nj^>k6†6†=< s™£2nj^`bsKr?”œ‰6”—zk6˜®b*m`b|l`n?b7{”—zijnjr~lz|*nj”–sKzi

aƒk¾p`sRno±>b²n~rjkR|*b7{MË ¥

]+^`bƒyzrj”œ>|*”—y`˜–bƒs6£ vOs`{`bvO˜–sK`”œz‰]rjkR|*”—`‰”—iPr?b7y>sKr?njb{…”œ "2”–‰Klzr?bc6¥-]+^`b-sKr?”œ‰6”—zk6˜| sŸ{zb0”—iP{zlzy`˜œ”—| k™njb{®¥0]+^`b-«Mrjijn

| sŸ{zbo|*sRyKpR¨R| k6˜–˜œb{RQ-Sƒ¸UTŸ¸5#6¨™”—iµ”—zijnjr~lza0bKn?b7{-”—k ?˜–”œ‰R^Kn_ šk¾pR¨™”—ƒsRr~{`brn?s‰6b nµkR0b*m`b|l`n?”œsR0n?”—a0bo|*˜œsRijb+n?s²n~^`bosRrj”œ‰6”—zk™˜

sK`b6¥%]+^`b²ijb|*sKz{| s`{`b¯| sRyKp6¨`|k™˜œ˜–b7{VQ-SÕºz¼}»*¨Ÿ”—i k6z`sRnjk6n?b{±Kpnj^`bPnjr~k6| belzijbrnjs-‰Kk™nj^zbr”œ`£¤sRr~a0k6n?”œsRƒ£¤sKr i?”—al`˜—k™nj”–sKzi

sKroi?n~k™nj”œijn?”—| i+sKnj^`b²b mŸb7| l`nj”–sK®¥Ow n+b m`b| lzn?”œsRn?”—a0b6¨WQIS0¸UTŸ¸#P”œiob*m`b|l`n?b7{·a-sKi?n+s6£n~^`bnj”œa0b6¨A±zl`noijsRa0b¸ ¹¾¸ º>»¿¼a0kR³™b

n~^`bob*m`b7| l`nj”–sK0±Mb<ijš+”–n~|}^`b{ƒnjs²nj^`b<njr~k6|*bo| s6˜œ˜–b7|*nj”–sK-a0s`{`b0LQ-SÕºz¼}»2”—iµb*m`b7| l`njb{ƒk6z{kPn~rjkR|*b+i~k6aƒy`˜œbÉ¿| sRl`˜—{ƒ±>b<ijb •Rbr~k™˜

n~^`sRlzi~k6>{zisRr2a0”–˜œ˜–”œsR>i#s6£Arjb*£¤b7r?b7z|*b7i Ë®”œi2|*sR˜–˜œb| n?b7{®¥%½en~^`br+¸ ¹¾¸ º>»¿¼rjb ˜—k™njb{n?sXQ-SÕºz¼}»#k6˜–˜œsWš¢nj^zbb m`b| lzn?”œsRnjs¯rjbi~lza0b”œ

j`s™’4njr~k6| b<|*sR˜–˜œb| n?”œsRJ<a0s`{`b0LQ-Sƒ¸UTK¸ #<”œiOb*m`b7| l`njb{®¥%]+^`b¯|}^`s6”—|*bes™£°nj^zbijb<b •RbKnji,”œi,£¶lzrjnj^`b7rO{z”œi~| lzi~ijb{”—xKb7|*n?”œsRz¥8`¥œc6¥

]Op`y`”œ|k™˜œ˜–pR¨Q-Sƒ¸UTŸ¸5#›b*m`b|l`n?b7ia0sRijn²s™£+nj^zb›n?”—a0b6¥·]+^`”—i|*s`{`b›| sRyKp…”—i˜œ”œ‰R^Kn?˜œp…”—zijnjr~lza0bKn?b7{´k6z{”—z{zlz| bi²sK`˜œpÂk

i~aƒk™˜œ˜Ab m`b| lzn?”œsR›sW•Rbr~^`bkR{·É¿| sRaƒyzkRr?b7{n?s0nj^`bPb mŸb7| l`nj”–sK›s6£#nj^zbesKr?”œ‰6”—zk™˜Byzrjs6‰KrjkRaË}¥]+^zb¯ij”,+bes6£YQ-Sƒ¸UTŸ¸5#¯| sŸ{zbe”—i k™˜—i?s

ZU[ <LR>ED BC;=VGMghDTFGP?MPLDEs KD@<]D p,;=<?>E;=ACBCD@AFGD@A>@D\wdCY[IL<WR>ED BC;=VGMghDCH)Z1DfghD@RA[IWKD BC;=VGMghD ;prFGAp,;=<]g RmIWFG;=AILK'RmIOFGPnQRPWPWDEsIL;[RA;=A^]UVGFGAD

PWFGgfMVRmIW;=<1;=<\PLIL;=<]D@s[FGA[RfIL<LR>@DL_'VGD=j

`baou`dc

(8)

P_exec Event

Event

Event

P_inst

Event_bis

Event_bis

Event_bis original code

collect trace instrumentation code to instrumentation code to jump between P_exec and P_inst

execution

jumps between both versions of the program

"2”–‰Klzr?bƒc30ǵmŸb7| l`nj”–sKs™£| ˜–sK`b{| sŸ{zb¯njs|*s6˜œ˜œb|*n+n~rjkR|*bR¥

| ˜–sKi?bPn?sƒn~^`bi?”5+ bPs6£#nj^zb²sRrj”–‰R”œzk6˜A| s`{`b6¥µwei+k0rjbi~l`˜œn ¨zn~^`b²±>b7^zk¾•Ÿ”–sKrs™£#n~^`ba0ba0sRrjp^`”œbr~k6r~|}^KpÉ¶”—z|*˜—lz{`”—`‰›] 6 i}Ë,sR`˜œp

i~lŸÈBbr~i£¶r?sKa k0n?”—Kp|}^zk6z‰6b²yzrjsW•K”—{`b7{›nj^>k™nQ-Sƒ¸UTK¸#PkRz{EQ-SÕºz¼}»kRr?bPk™˜œ˜œsŸ|k™njb{”œ{`”–ÈAb7r?b7Kn a0b7a-sKr?pyzk™‰Rbi¥

wei%xŸ”œa›½²xA¨6vOs`{`b vO˜œsRz”œ`‰P]rjkR|*”—`‰oš+”œ˜–˜`yzrjsW•Ÿ”œ{`bk+£¶kRi?nb*m`b|l`n?”œsRa-s`{`bO£¤sRr2ijb| n?”œsRzi#nj^zk6nkRr?b`s6n#n?sP±>b ij”œa-l`˜œk6n?b7{®¨

kRz{k-n?”—a0b²|*sR>ijlza0”—`‰0njr~k6|*bP|*sR˜–˜œb| n?”œsRa-s`{`bR¥

# Wº>»,"! £¶rjsRa xK”œa›½²xA¨>vOs`{`bvO˜œsR`”—`‰ƒ]#r~k6| ”œ`‰0r?b˜–”œbisKk0i?n~k™n?”—|

| sŸ{zbk6z`sRnjk6n?”œsR®¥%brjp^`”œ‰R^yMbr?£¤sRr~a0kRz|*bP”—i sR±`n~k™”—`b{sR j`s™’4njr~k6| be| s6˜œ˜–b7|*n?”œsRePa0s`{`b²k6i+rjbyMsRrjn?b{”—·xŸb|*nj”–sK 4M¥

; = !# K=; = JH% ! ,/$ ! *-,/.

]+^`b¯±zk6ij”—|+n?b7|}^z`”—žKlzb<yzrjbijbKn?b7{0kR±>sW•Rb+”œižŸl`”œn?bo‰Rb`b7rjk6˜¿¥2w nµ”—a0yz˜–b7a-b7Knjk™nj”–sK˜œb •6b˜¿¨Ki?sKa0bonjr~k6{`bs™È®iµk6±MsRlzn,nj^zbosW•6b7rjk6˜–˜

n~rjkR|*b²|*sR˜–˜œb| n?”œsRyzr?s`| bi~ia-lzijno±>b| sRzij”œ{zbrjb{®¥

"2”—rjijn ¨`k-njr~k6{`bs™È·±>bn“šObb›n~^`b¯njr~k6|*be•6sR˜œlza0b¯k6z{nj^`b¯b*m`b|l`n?”œsRn?”—a0b02nj^`b¯˜—k6rj‰6br,nj^`bPn~rjkR|*be| s6˜œ˜–b7|*njb{®¨Ÿnj^zb¯^`”œ‰R^zbr

n~^`b·b*m`b|l`n?”œsR¡ij˜–sWšo{`sWšo°¥­]+^zbn~rjkR|*b·|*sR˜–˜œb| n?”œsRªš+”–˜œ˜<±Mb·njlzzb{­{`byMb>{`”œz‰´sRªnj^`b©aƒkWm`”—alza k™˜œ˜–sWšb{ªb*m`b|l`n?”œsR

ij˜–sWšo{zsWšok6>{sKn~^`b²njr~k6| b²lzijk6‰6bR¥

xKb7|*sKz{®¨¾nj^`bb •RbKnji#{`b njbr~a0”œ`”—`‰¯i?š+”œnj|}^`”—`‰¯±>bn“šObb±Ms6n~^|*sKy`”–b7i\s6£>|*s`{`balzijn#±Mb{zb n?b7rja0”—`b{k™n\”—aƒy`˜œba0bKnjk6n?”œsR

˜œb •Rb ˜ k6z{t?l>{`”œ| ”–sKlzij˜–p¢|}^`sKi?b7”œªk6´b7aƒy`”œrj”—| k™˜š k¾p6¥…Ç,•6bKn~i-aƒk¾p´±>b”—Rnjbr~zk™˜œ˜œpI‰Rb`b7rjk6n?b{´±Kp´n~^`bkRyzy`˜œ”œ|k™n?”œsR¢sRr

b mŸnjbr~zk™˜Z¥Á ^`bn~^`b<b•6b7Rn~iµk6rjbo”—Kn?br~zk6˜¿¨Rnj^`bpƒ^>k¾•6b+n?s-±>b¯{`”œijnjrj”—±zl`n?b7{›k6iµb •6b7`˜œp0kRi,yMsRi~i?”—±`˜œb<k™˜œ˜Mk6˜–sK`‰²nj^`beb*m`b|l`n?”œsR

| sŸ{zb6¥ unj^`”—i<|k6ijb6¨>sK`b| kR|*sRl>Rn<nj^`b7a k6n<rjl>nj”œa0bR¥ ]+^zba0sŸ{zbi?š+”œnj|}^z”œ`‰›aƒk¾p±>byMbr?£¤sRr~a0b{šo^`b7nj^`b| sRlzKnjbr

rjbkR|}^`bi k0nj^zrjbi~^`sR˜œ{•Wk™˜—l`b6¥µ]+^`”—i+•Wk™˜—l`b²| kRb7k6ij”–˜œp±MbP£¶lzrjnj^`b7r njlz`b7{k6i+kyzkRrjkRa-bn?b7rOs6£#n~^`b²b*m`b|l`n?”œsRijb njl>y®¥

]+^`”—r~{®¨znj^zbnjr~k6| blzi?b7ro| kR|}^`sŸsRijb¯n~^`bn“p`yMb²s™£%”œ`£¤sRr~a0k6n?”œsRn?s| s6˜œ˜–b7|*n¥O]+^`b RzÃ¤Ä°Å¿Æ yzrjs6njs6n“p`y>b²yzrjbijbKnjb{”œn~^`b

`b m`n-ijb|*nj”–sK”œisR`˜œpk£¶rjkRa0b šsRr~³…k™˜œ˜œsWš+”œ`‰·kR´bkRi?pÂk6z{ÂÀ>b m`”œ±`˜œb›£¶l>r?n~^`br-|*s`{`b›”—zijnjr~lza0bKnjk6n?”œsR®¥!es6n?”—|*bnj^zk6n ¨ !

# WºM»)5! ²s6£®s6nj^zbr,ijnjk6n?”—|o|*s`{`bokRz`sRnjk™nj”–sKa0b nj^zsŸ{>i ¨Knj^`b7r?b+”—i,zsijyMb| ”œk6˜MrjbžŸl`”—r?b7a0bKn%n?ssKy`n?”—a0”,+bonj^zbo”œ>i?n~rjlza0b7Rnjb{

| sŸ{zb6¥ 4£BQ-Sƒ¸ TŸ¸ #”œi-b*m`b|l`n?b7{¢sK¢†6†>¥†=< s™£on~^`b”œzijnjr~lz| n?”œsRziɶš+”œnj^ªk…ij˜–sWšo{`sWšos6£c6¥8£¤sKr”—zi?n~k6z| b¾Ë}¨,k6z{¢”¬£<n~^`b

Q-SÕº>¼ »Oi?˜œsWšo{`sWšoƒ”—i<cR¨9;9$9ÉZi?sKa-b¯žŸl`”–njb¯| sRaƒy`˜œb*mƒsRŸ’4˜œ”œ`b¯i?”—alz˜œk6n?”œsRƒ£¤sKr,”—zijnjk6>|*b¾Ë}¨Ÿnj^`b¯sW•6b7rjk6˜–˜zb m`b| lzn?”œsR›ij˜–sWšo{zsWšo

š+”œ˜–˜#±>b30 !"#%$&

uou Awv=vCx=x

(9)

! (o&#P&# W ->!# "!!* OP&*:

vOs`{`b·vO˜–sK`”œz‰…]#r~k6| ”œz‰·”œi-k·‰6b7`br~k™˜On?b|}^>`”œžŸl`bR¥I½¯lzry>r?sRn?s6n“p`yMb6¨2| k6˜–˜œb{ RzÃ¤Ä°Å¿Æ šOsKrj³ŸiPsRz˜–pÂsR¢ijnjkRz{Ÿ’“k™˜œsR`b›kRyŸ’

y`˜œ”—| k™nj”–sKzi¥+¦<sWšb •6b7r ¨Aa0sRijnos™£%nj^zbn?b7|}^z`”—| k6˜\”—iji~l`biek6i~i?s`| ”œk6n?b{š+”œnj^©ijš+”œnj|}^`”—`‰£¶rjsRa j`s™’4njr~k6| bP| s6˜œ˜–b7|*nj”–sKJa-s`{`bn?s

?njr~k6| b|*sR˜–˜œb| n?”œsRJ-a0s`{`b-kRz{·•Ÿ”—|*b*’4•6b7rji~kƒš+”œ˜–˜%±Mbnj^zb0i~k6a0b£¤sKr<”—zijnjr~lza0bKn?”—`‰al`˜œn?”–’4y>r?s`|*b7iji<šOsKrj³K˜œsRkR{ziok6>{·b •Rb©k

| sRaƒy`˜œb n?bƒsKy>b7rjk6n?”—`‰ijp`i?njba¥ 6zÃ¶Ä°Å¶Æ k™˜—ijsk6˜–˜œsWšoi<njs•¾k6˜–”—{zk6n?bƒnj^`bkRyzyzrjsRk6|}^·£¶r?sKa"nj^`b›yMbr?£¤sRr~aƒk6z| b-yMs6”—RnPs6£O•Ÿ”–bš0

sK?`s6’Zn~rjkR|*b²|*sR˜–˜œb| n?”œsRJa0s`{`b6¨Mnj^`b0i?˜œsWšo{`sWšo”œz{>lz|*b7{·±RpsRl>rok6yzy>r?sKk6|}^”œiek6rjsRlzz{ 8$9%Ÿ;9=< k6>{nj^`b7r?b £¤sRrjb| k6·±Mb

i~lzyzyMsRrjn?b7{±Kpa0sKi?n ! 2lzijbr~i ¥

usRr~{`brOn?s-£¶k¾•6sKrµÀMb*m`”œ±z”–˜œ”–n“pR¨zy>sKr?n~k6±`”œ˜œ”–n“pR¨Kb7k6ijbes6£#lzijb6¨zkRz{›b7k6ijbes6£\”œaƒy`˜œba0b7Rn~k™nj”–sK®¨ 6zÃ¶Ä°Å¶Æ š k6iaƒk6{`b¯sRn?sKy›s™£

n~^`b Âijp`i?njba †'4¥

RzÃ¤Ä°Å¿Æ k6˜–˜œsWšoi#n?se±>l`”–˜—{-n“šOsen“pŸyMbi#s™£Ak6yzy`˜œ”—| k™nj”–sK|*˜œsRzbik6| | sRr~{`”—`‰on?s¯”œnjib*m`b|l`n?”œsR-a0sŸ{zb0°n~^`b,«Arjijn#n“p`yMbOs6£M|*˜œsRzbi

yMbr?£¤sRr~aƒi,ijš+”–n~|}^`biOlzy>sK”—Rnjbr~zk™˜Mb •RbKnji+É"Õº>ºB¸ ²a0s`{`b¾Ë}¨Kšo^z”–˜œbonj^zbeijb|*sKz{ƒn“p`y>b¯{`bk6˜œi,š+”–n~^›k6kR{z{`b7{ƒb*m`n?b7rjzk6˜>b•6bKn

aƒk™njbrj”œk6˜–”5+ b7{±Kpkƒi~^zk6rjb{•Wk6rj”œkR±`˜œb-É?¼@ N a0s`{`bWË ¥

ÁÂb«Mrjijn±zrj”–b À>p´sW•6b7r?•Ÿ”œb š nj^zb ijp`i?njba †'+šo^`”—|}^ªškRi0l>i?b7{ª±Kp

RzäİſÆ

n?s´k6| njlzk6˜–˜œp¢|*˜œsR`bn~^`b·|*s`{`bk™n

kRijijba-±`˜–p˜œkR`‰Rlzk6‰6b¯˜–b•6b˜¿¥%]+^`b7šb²yzrjbijbKn

6zöİŶÆ

”œnjijb ˜–£u¥

G DF*I=> ! A% $L=& !$'%,/!0 *IC

¢”—i²kr?bnjkRr?‰Rb njkR±`˜œb£¶r~k6a0b šsRr~³£¤sRrP{`b •Rb ˜œsRy`”—`‰nj^`bƒšo^`sR˜–bi~y>b7|*n~rjlza s™£OnjsŸs6˜—ien~^zk™n²aƒk6z”œyzlz˜œk6n?byzrjs6‰Rr~k6aƒieb*mŸ’

yzrjbi~ijb{”—kRijijba-±`˜–pƒ˜—k6`‰Klzk™‰Rb6¥2]+^`”—iOa0b n~kW’4n?sŸs6˜A”—i| sRaƒyMsRijb{s6£\nj^zrjb bPyzkRr?n~i02k³6br~`b ˜Z¨`knjkRr?‰Rb n{`bi~| rj”œyzn?”œsRƒ«>˜œbPk6z{

n~^`b²n?sŸs6˜#yzr?sW•Ÿ”—{`b{±Kp›nj^`bl>i?b7r ¥n"2”–‰Klzrjb/8ƒi~^`sWšoi ^`sWš nj^`b7i?bPnj^>r?bb|*sRaƒyMsR`b7Knji ”—Rnjbr~k6| n ¥

SALTO

ex.s

ex.salto.s

tool.so

tool.cc

C++

User tool Salto system test program

machine description

"”œ‰Rl>r?b 8 0 Ii?p`ijn?ba sW•6brj•Ÿ”–bš²¥

]+^`b MÍ ŽWÆ Í Ã yMbr?£¤sRr~aƒi,| sRaƒa0sRƒ^`sRl>i?b ’4³6b byz”œ`‰²n~k6i~³Ÿiµnj^zb<{`b •Rb ˜œsRyMbrO{`sŸbi,zs6nµš k6KnµnjsšOsKrjrjp-kR±>sKl`n ¨K˜œ”œ³6b<yzk6r~ij”œ`‰

n~^`bk6i~ijba±z˜–p…| s`{`bk6>{In~^`b›n~k6rj‰6b n²{`b7ij|r?”—y`nj”–sK…«M˜–bR¥]+^`b›³6br~`b ˜Oyzr?sW•Ÿ”—{`bi²k6˜œijs·k6”—Rnjbr~zk™˜Or?b7yzr?b7i?b7Knjk™nj”–sK©s6£ n~^`b

njbijn?b{yzrjs6‰KrjkRa šo^`”—|}^”—iok¾•Wk™”œ˜œkR±`˜œbe•Ÿ”—k-n~^`blzijbr ”—Kn?br?£¶k6| b6¥

]+^`b `Ž"! Í ­Ò Í Œ6ŽWÅ$#Å Ñ Æ&%à ͭ|*sRKn~k™”—zi›n~^`bÂ^>k6r~{`škRr?b©| sRŸ«M‰Rlzr~k™nj”–sK:k6z{:n~^`b|*sRaƒy`˜œb njbÂ{zbi~| rj”œy`nj”–sK­s™£n~^`b

”—zijnjr~lz|*nj”–sKŸ’4ijb nek6r~|}^`”–njb| njlzrjb6¨M”œz| ˜œl>{`”œz‰yMbr?’Z”—zijnjr~lz|*nj”–sKrjbijsRl>rj| br?b7i?b7r?•Wk™nj”–sKnjk6±z˜–bR¥ev^zk6`‰R”œz‰›njkRr?‰Rb nok6r~|}^`”œn?b7|*njl>r?b

”—i2t?lzijnoyzrjsW•K”—{`”—`‰ƒk0zb š {`bi~| rj”œyzn?”œsR«>˜–bR¥

]+^`b  Ñ°Ñ Ã%Å'#2ÃÍ Í ÆB Í Ò·‹ Î )( Í Í Ž lzi?b7i,n~^`b¯”œKn?b7rj>k™˜Mrjby>r?b7i?b7Rn~k™nj”–sKa0kR{`be±Kpƒnj^zbe³™b7rjzb ˜A”œ›kÀ>b*m`”—±`˜œb<š k¾p6¨

n~^zk6z³Ÿi+njsƒnj^`b²sK±Ÿtub| nu’4sRrj”–b7Rnjb{lzi?b7r ”œKnjbr?£¶k6|*bƒÉ“v+*,*|*˜—k6i~ijbi k6z{a0b n~^`s`{zi Ë}¥

…^z”œ{`b7ioa0sRijn s™£2nj^`b±MsRrj”œz‰0”—aƒy`˜œba0bKnjk6n?”œsR{`b n~k™”œ˜œi¨zk6>{n~^Ÿlzi+k™˜œ˜–sWšb{lzi njs-£¤s`|lzi+sR 6>Ã¤Ä°Å¶Æ ¥

G8 > $L#.-1; =

2Plzy`˜œ”œ|k™nj”œ`‰nj^zb-|*s`{`b0k6z{…a0kR³K”œ`‰ijlzrjb”œn<b m`b| lzn?bi¯k6>{©i?š+”œnj|}^zbi<| sRr~r?b7|*nj˜–p±>bn“šObb©±Ms6n~^©|*sKy`”œbie˜–b7k6{zi<n?sijb •Rbr~k™˜

{`”7›| l`˜œn?”œbi¥ "2”œr~i?n¨+nj^`b…b •6b7Knjišo^`”—|}^­š+”œ˜–˜¯{`b njbr~a-”—`b·n~^`b…ijš+”–n~|}^`bi±>bn“šObb­±>sRnj^:b m`b| lzn?”œsR­a0sŸ{zbi^>k¾•6bn?s ±Mb

t?lz{z”œ| ”–sKlzi?˜œp|}^zsRijb®¥,w noijb| sRz{°¨zk|*sRr~rjbi~y>sKz{`b>|*bP±>bn“šObb±>sRnj^·| sŸ{zbP| sRy`”œbi<alzijno±>baƒk6”œKnjk6”œzb{®¨>kRz{lzKškRKn?b{

a0s`{`bIijš+”œnj|}^`”—`‰ªi~^`sKl`˜œ{§±>bÂk¾•6s6”—{`b7{:±Rp­{`b7k™˜œ”œ`‰ªš+”–n~^ |*sKKnjrjs6˜–’Zn~rjkRziu£¤b7r”—zi?n~rjl>|*n?”œsR>i©É4v]ui}Ë ¥ "2”œ>k™˜œ˜–pR¨<k£¶lzrjnj^`b7r

”—zijnjr~lza0bKnjk6n?”œsRs™£2nj^`b3Q-SÕº>¼» |*sKyKpalzijn+±>byMsRi~ij”œ±`˜œb6¥%ÇOk6|}^s™£2nj^`b7i?b²yMs6”—Rn~i+”—i+k6{z{zrjbi~ijb{±Mb ˜œsWš²¥

/10

VG;=AFGAN+2 PWPWDEgfdVGDE<tRAs,3;2;=qFGANhFGACIW;54 DE<LFIWRdVGD76APLIL<LMghD@ACIWRmIWFG;=A98 DEDEsP:j

`baou`dc

(10)

(

Ñ°Ñ

ŒÅ¿Æ!I (

Í Ä Í

ÆBŒ

ÁÂbO|}^`sKi?b%njs<ijš+”–n~|}^Pnj^`bµb m`b| lzn?”œsR²a0s`{`boɶ”—koijp`aƒa-bnjrj”œ|k™˜™š k¾p>ËAlzyMsRyzrjs`|*b7{zlzrjbµ| k™˜œ˜—i ¥\]+^zbµqvªÉ¶qOr?sR‰Rr~k6a vOsKlzKn?b7r Ë

ijš+”–n~|}^`bi%£¶r?sKa€sRzbo|*sRyKpnjsnj^zb+s6nj^zbr%šo^`b7ƒk²|*brjnjk6”œƒŸlza-±>b7r%s™£Bnj^`b7i?b+b•6b7Rn~iµk6rjb b*m`b|l`n?b7{®¥n">sKr2”œzijnjkRz|*bR¨6njsi?š+”œnj|}^

b mŸb7| l`nj”–sK©£¶rjsRa Q-Sƒ¸ TŸ¸ #0n?s Q-SÕºz¼}»-c*9z¨9$9;9yzrjs`|*b7{zlzrjb0|k™˜œ˜œi²a-lzi?n²^zk¾•Rb0±Mb b7…b m`b| lzn?b{ 4#njsijš+”œnj|}^Ib*m`b|l`n?”œsR…£¶r?sKa

Q-SÕº>¼ »<n?sVQ-Sƒ¸UTŸ¸5#c*9yzr?s`| b{zlzrjb|k™˜œ˜œiealzijne^zk¾•Rb±>bb…b*m`b|l`n?b7{®¥¯xKsM¨A”–£,yzrjs`|*b{>lzr?b-| k™˜œ˜—i<k6rjb R¸5! ɶ”Z¥bR¥eb•6b7`˜–p>Ë

{`”—ijnjrj”œ±zlzn?b{0k6a0sK`‰<n~^`b ”œzijnjr~lz| n?”œsRzi¨ s™£Mnj^`b ”—`”–nj”œk6˜`”œ>i?n~rjlz| n?”œsRzi#š+”œ˜–˜z±Mb b*m`b|l`n?b7{”—n~^`b njr~k6|*b ’4| s6˜œ˜–b7|*nj”–sK²a-s`{`bR¥

ÁÂb|}^`sRijbPijlz|}^b•6bKn~iOnjsƒ£¶k6| ”–˜œ”–n~k™njb¯n~^`b{`b7i?”œ‰Rs™£%k-«Mrjijn ”œaƒy`˜œba0b7Rn~k™nj”–sK®¨`£¤sRr n~^zrjb b²aƒk™”—rjbkRi?sKzi20

c6¥e˜–sK±zk™˜œ˜œp6¨Ÿyzr?s`| b{zlzrjb<|k™˜œ˜œiOk6rjb<r?b˜œk6n?”œ•6b˜–pƒrjkRr?b+”—v,’“yzrjs6‰Rr~k6aƒi¨6±zl`n k6rjb<`sRnOijslzz| sRaƒa0sR·É¶£¤sRr,”œzijnjkRz|*bR¨Ÿ”œn~^`b

yzrjs6‰Rr~k6aƒi<£¶r?sKa"nj^`bxKq,Çv†3”—Kn?b ‰RbrP±Mbz|}^zaƒkRrj³·i~l`”œn?b6¨\nj^`b”œr¯£¶rjbžŸl`b7z|*p·•Wk6rj”œbiP±>bn“šObb 9z¥96‡=< kRz{ªc6¥ =<ƒË ¥

]+^Ÿlzi ¨Ÿn~^`be| sŸ{zb¯kR{z{`b{£¤sRra-s`{`b¯i?š+”œnj|}^z”œ`‰-”œi `sRn,b mŸb7| l`njb{ƒ£¶rjbžŸl`b7Kn?˜œpƒkRz{›n~^`b¯”œz{>lz|*b7{sW•6b7rj^`b7k6{ƒ”—iOzs6n,•Rbrjp

^`”œ‰R^®¥·½¯In~^`bs6n~^`br^zk6z{°¨kRi²yzr?s`| b{zlzrjb›| k6˜–˜—i²k6rjb›`sRni?s·lzz| sRaƒa0sR®¨nj^zb pIk6˜–˜œsWš k·rjbkRi?sKzk6±z˜–b|*sKKnjrjs6˜2sR

i?š+”œnj|}^zbi+±Mb n“šb bnj^zb²n“šOsƒb*m`b7| l`nj”–sKa0s`{`bi¥

8`¥u-k¯yzrjs6‰KrjkRa¨WkPyzrjs`|*b{>lzr?b | k6˜–˜`rjbyzrjbijbKn~ikR”—aƒy>sKr?n~k6Kn%|}^zk6`‰Rb,”—n~^`b+b*m`b7| l`nj”–sK|*sKKnjrjs6˜KÀ>sWš²¨Ws™£¤njb£¤s6˜œ˜–sWšb{

±Kp|}^zk6`‰Rbi\”œ-nj^`bbK•Ÿ”—r?sKza0bKn ¥]+^`bOq v‰6bnjikezb š¢•Wk™˜—l`b k6z{”–n~i2s6˜—{²•Wk™˜—l`b”œi%i~k¾•6b7{®¨Wk6z{ijsRa0bs™£>n~^`b ‰6b7`br~k™˜

r?b‰6”—i?njbr~iOkRr?b¯k™˜—i?s-s™£¤njbijk¾•Rb{®¨K”œsRr~{`b7r,njs-‰Rb n `b š sR`b7i,£¤sKr,n~^`b²| k6˜–˜œb bPyzrjsŸ| b{zl>r?bR¥]+^Ÿlzi¨zy>b7ru£¤sKrja0”—`‰-k<t?lzaƒy

n?sƒnj^zb²s6nj^zbr+|*sKyKp›s™£nj^`byzrjs6‰KrjkRa `bkRr+kƒyzr?s`| b{zlzrjbP| k™˜œ˜®š+”œ˜–˜\±Mb²bkRi?”œbr¯É¿nj^`b”—zijbrjn?b7{| sŸ{zbP|k6±>bi~^`sKr?njbr}Ë ¥

z¥">sKrijnjkRz{Ÿ’“k™˜œsR`bPk6y>y`˜–”—| k6n?”œsRnjr~k6|*”—`‰M¨K”œn+k™˜œ˜–sWšoi rjbyzrjs`{zlz| ”œ±`˜œb¯njr~k6|*”—`‰` ¾sR`’Z˜œ”œzbeij”œa-l`˜œk6n?”œsR|}^zk™”—zis™£¤njb`b b7{`b{

n?s|*sKaƒyzk6rjb²i?b•6br~k™˜Ba0”œ|r?s6’4kRrj|}^z”–njb|*n~lzrjb<”—{`bkRi ¥

Ñ Ž¾Ž Í Œ # Ñ Æ#Ò Í Æ# Í ‹ Í  ÐÍŸÍ Æ·zÆÒ "!

„…k6”œKn~k™”—`”œz‰Âkijnjrj”œ| n0| sRr~r?b7ijyMsRz{zbz| b±Mb n“šb bªb •Rbrjp´”œ>i?n~rjlz| n?”œsR ”œ"Q-Sƒ¸ TŸ¸ #k6>{ Q-SÕºz¼}»0šOsKl`˜—{ rjbžŸl`”—r?bk…•Rbrjp

˜—k6rj‰6bƒnjkR±`˜œb6¥©xŸlz|}^´k£¶l`˜œ˜O| sRr~r?b7ijyMsRz{zbz| b0”—i`sRn`bb{`b7{I”—´yzr~k6| n?”—|*b6¥·½¯Ânj^`bkRyzyMbk6r~k6>|*bƒs™£ok·ijš+”–n~|}^Ib•6b7Rn¨#n~^`b

ijš+”–n~|}^alzijnµs`| |lzrµnjsnj^zb<r?”œ‰R^Kn,yz˜œkR|*b6¥¦<sWšb •Rbr¨™šboš+”–˜œ˜Mijb b<”œƒn~^`b<`b mŸni?b7|*nj”–sK-n~^zk™nO”œzsRyzyMsRrjnjlzzb<|*sKa-b ’4±>k6|}³Ÿi ɶ”Z¥bR¥

lzKš k6Kn?b7{ijš+”œnj|}^`b7i£¶r?sKa Q-SÕºz¼}»n?s Q-Sƒ¸UTK¸ #¯sKr •K”—|*b ’Z•Rbr~ijkŸË%^zk¾•Rbenjs›±>bk¾•Rs6”—{`b{°¥

uªnj^`b Q-Sƒ¸UTŸ¸5#| sRyKp6¨Ob •Rbrjpijš+”œnj|}^¡y>sR”œKnalzijn^zk¾•6b”œnjik6i~ijsŸ| ”œk6n?b7{¢bKn~r?p¢yMs6”—Kn0”— Q-SÕºz¼}»*¥ 6zÃ¶Ä°Å¶Æ ”—zijbrjnji

kRijijba-±`˜–pK’4˜œkR`‰Rl>k™‰6b¯˜—k6±Mb ˜—iok™n+b7Rn~r?py>sR”œKn~i ¥ ]+^`bijš+”–n~|}^”–n~i?b˜¬£µ|*sKzij”œijnji+s6£µk¯t?lzaƒyn?s›n~^`”œi<˜œkR±>b˜¿¥ w<Kp”œzijbrjn?b7{|*s`{`b

a-lzi?nozs6n+k™˜œn?b7r nj^`b²`sKrjaƒk™˜Bb mŸb7| l`nj”–sKs6£n~^`b²yzrjs6‰Rr~k6a kRz{®¨`”—y>k6rjn?”—| l`˜—k6r¨`alzijn+bzi~lzrjben~^zk™n+n~^`brjb ‰6”—ijn?br~i³™b b7yn~^`b

i~k6a0bo•Wk™˜—l`b7i ¨R£¶r?sKa nj^`besRrj”–‰R”œzk6˜>|*s`{`bey>sR”œKn,s6£°•Ÿ”–bš²¥µxŸsnj^`b¯r?b‰6”—i?njbr~iµlzijb{›±Kp0nj^`be”œ>i?b7r?njb{›| sŸ{zb<alzijnµ«ArjijnO±Mbei~k¾•6b7{

kRz{´nj^zb rjbijn?sKr?b7{®¥!u´sKrj{`b7rnjsIrjb{zlz| b›nj^zbkR{z{`b{¢sW•6br~^`b7k6{®¨#nj^`b”œ>i?b7r?njb{´|*s`{`blzijbi !$ $—¼ »“¸% ¼#šo^`b7`b •Rbr

yMsRi~i?”—±`˜œb6¥

$ % Í

zÃ¿Å¶Æ ! Ð

Ŷ ( Ñ ÆBŽ

Ñ ÃÏ

 ŽWzƌ'&

Í

Ž)(*ƌ Ž #6Å

Ñ

ƌ

w i?š+”œnj|}^ƒ£¶rjsRa sRrµn?sn~rjkR|*b ’4| s6˜œ˜–b7|*n?”œsR0a0s`{`b<sKƒnj^`ben?bijn?b7{›yzrjs6‰KrjkRa”œik| sRKnjrjs6˜`ÀMsWš­|}^>k6`‰Rb6¥2]+^`bosRrj”œ‰6”—zk™˜>y>r?sR‰Rr~k6a

”œnjijb ˜–£¯k6˜œijsIyMbr?£¤sRr~aƒi-| sRKnjrjs6˜,À>sWš |}^zkR`‰6b7iš+”œnj^ | sRKnjrjs6˜–’4njr~k6zi?£¤br”œzijnjr~lz| n?”œsRziÉ4v]ui}Ëi~lz|}^ªk6i<t?lzaƒy®¨O| sRz{`”œn?”œsR>k™˜

±zr~k6>|}^®¨`yzr?s`| b{zlzrjbe|k™˜œ˜¿¨B¥¥ ¥ƒw nOn~^`”œi ˜œb •Rb ˜Z¨ŸšObPalzijnbzi~lzrjb<nj^>k™n+{zlzrj”œz‰nj^zb¯b m`b| lzn?”œsR®¨Ÿnj^zbeqv:š+”–˜œ˜®`s6nt?lzaƒy£¶r?sKa

Q-Sƒ¸UTŸ¸5#¯njs Q-SÕºz¼}»¯É¶sRr •Ÿ”—|*b ’Z•Rbr~ijkŸË2b*mz| by`n+šo^`b7nj^`b| sRr~r?b7|*nb •6b7Kn”—i b>|*sRl>Rnjbrjb{®¥

Á ^`”œ˜œbšsRr~³R”—`‰©k6nk6i~i?b7a±`˜œp˜œkR`‰Rlzk6‰6b˜œb •Rb ˜Z¨n~^`”—i”—irjb ˜—k™nj”–•Rb ˜œpÂijnjr~k™”œ‰R^Knu£¤sKr?š k6r~{©šo^zb´n~^`bv]±zr~k6>|}^`bi²njsIk

zkRa0b{¢˜—k6±Mb ˜Z¥¢¦esWšOb•6br¨2”œ>{`”œrjb| n¯t?lzaƒyziƒk6rjbk6˜œijsIk6˜–˜œsWšOb7{10nj^zbn~k6rj‰6bn-k6{>{zr?b7iji-”—i0ijn?sKr?b7{´”—ªkÂr?b‰6”—i?njbr¨µk6z{ ”œiƒk

| sRaƒyzl`njb{·•Wk™˜—l`bR¥Á:”œnj^·i~lz|}^”—z{`”—r?b7|*n%t?l>a0y>i ¨Anj^`bnjk6rj‰6bn<k6{>{zr?b7iji ”—iosK`˜œp³Ÿ`sWšok™n<b*m`b|l`n?”œsRnj”œa0bkRz{·lzKškRKn?b{

a0s`{`bƒi?š+”œnj|}^`b7ieaƒk¾p©kRr?”—i?bR¥e„…sRrjb sW•6b7r ¨Mšo^`bIkijš+”–n~|}^·£¶rjsRa Q-SÕºz¼}»en?sQIS0¸UTŸ¸ #É¿sRre•Ÿ”œ| b*’4•6br~i~kKËs`| |lzr~i<{zlzrj”—`‰n~^`b

| sRaƒyzl`n~k™n?”œsRÂs6£k6”—z{`”—r?b7|*n t?lzaƒyÂnjkRr?‰Rb n²k6{>{zr?b7iji¨°n~^`b›r?b7ijlz˜–n²aƒk¾p…±Mb›lzz{`bn?br~a0”œzb{®¥"MsRrP”—zijnjk6>|*b6¨k6i²i~^`sWšoI”œ

"2”œ‰Rlzrjb²z¨`nj^zb²njk6rj‰6bn+k6{z{zrjbi~i aƒk¾p{`byMb>{sKk QIS0¸UTŸ¸ #¯sRr Q-SÕºz¼}» ±zk6ij”—|¯±z˜–s`|}³›kR{z{zrjbi~i ¥

vOsKa0a0sKlzijbPs™£2”œ>{`”œrjb| nt?lzaƒyzio”—z|*˜—lz{`b7i0

*

v,’4ijš+”œnj|}^i?n~k™n?b7a0bKnjiPÉ¿nj^`b±zr~k6>|}^njs0n~^`brj”–‰K^Rn j| kRi?bCe”œi<i?sKa-bn?”—a0bi+yMbr?£¤sRr~a-b7{l>i?”—`‰k6”œ>{`”œrjb| n2t?lzaƒyMË4

*

r?bnjlzr~zi£¶rjsRa y>r?s`|*b7{zlzrjb 4

*

i?sKa0bPy>r?s`|*b7{zlzrjb¯|k™˜œ˜œi ˜œ”—³™b¯£¶lzz| n?”œsRŸ’“y>sR”œKnjbro|k™˜œ˜œi¥

+ c

IoR N=FBCDEA[QVR>@D FGA IWKDT>E;sD=H'sD@Rs<]DEN=FGPLILD@<]PnR<]D ;=ADEP\Z\KFG>WK*Z\FGVGV3d)DOZ\<LFI]ILD@A[dD_p,;=<LDnILKD_Y[R<LD <]D:Rs3j,2;HRmIoILKFGPtQVR>ED=HIWKDEY*>@RAd)D

MPWDEs*dY ILKD FGAPWDE<IWDEs>E;sD=j

uou Awv=vCx=x

(11)

compute_bis R1

Added code.

foo:

set foo, R1 switch_to_P_inst jump R1

compute R1

foo_bis:

set foo_bis, R1

jump R1 label_added:

P_exec P_inst

to ?? because the computed value depends on "foo"

depend on P_inst’s labels ("compute_bis" may be dif- -ferent from "compute").

(in P_exec) and might

"”œ‰Rl>r?b²w02q,rjsR±z˜–b7a š+”–n~^”œ>{`”œrjb| nt?lzaƒyzi ¥

„©sKr?b‰Rb`b7rjk6˜–˜œp6¨°£¶r?sKa sKlzr²b*mzyMbrj”œa0b7Rn~i²sR| sRaƒy`”œ˜–b7ru’4‰6b7`br~k™njb{Â|*s`{`bi¨”œz{z”œrjb| n t?lzaƒyzi-kRyzyMbk6rPb”–n~^`br”œ>i?”—{`bk

yzrjs`|*b7{zlzrjb˜œ”œ³6bƒv,’“i?š+”œnj|}^·ijnjk6n?ba0b7Rn~iÉ¿nj^`bƒn~k6rj‰6b nek6{z{zrjbi~i<yMs6”—KnjiesRl`n¯n?sk6·”—zijnjr~lz|*nj”–sK Õº>»nj^`bƒyzrjsŸ| b{zl>r?bkRz{·”—i

˜œs`| k™˜œ˜œpyzrjsŸ| bi~i?b7{MË ¨`sKr+k6i kyzrjs`|*b{>lzr?bP| k6˜–˜®sKr+r?bnjlzr~®¥

we`s6n~^`brPn“p`yMbs™£O”—z{`”—rjb|*n t?l>a0yÂb mŸ”—ijnji20 v,’4ijnjk6n?b7a-b7Knji¥0ÁÂb”œ‰R`sKr?b7{®¨\^`b7r?bR¨°nj^`b7i?bƒ£¶l>z|*nj”–sKzi

±Mb|k6lzijbn~^`b p·n“p`y`”—| k6˜–˜œpb*m`b|l`n?b-šo^`bIk6±z`sKrjaƒk6˜\b*m`b7| l`nj”–sK©^zk6y>y>b7zi ¥ 6 l`n¨BkRiei~^`sWšo·”—("2”œ‰Rlzrjb 4M¨BijsRa0b0|*s`{`bƒ| k6

±Mb²k6{z{`b7{²t?lzijn+kW£¤njbrO J+ijnjk6n?ba0b7Rn¯É5 J ”—kRijijba-±`˜œbr}Ë2n?sƒaƒk6³6b¯k0i?š+”œnj|}^n?s0nj^`b¯s6n~^`br | sŸ{zb¯| sRyKp

”–£2rjbžŸl`”—rjb{®¥

vOsKzi?b7žŸl`bKn?˜œp6¨ 6>Ã¤Ä°Å¶Æ ”—a0yz˜–b7a-b7Knjienj^`bƒa0sŸ{zb-ijš+”–n~|}^©r?sKlzz{·kyzr?s`| b{zlzrjb|k™˜œ˜Oɬt?lzi?nP±Mb*£¤sRrjbsKr%t?lzijn¯k™£¤n?b7r Ë}¥e]+^`”—i

‰Klzk6r~k6Kn?bbinj^>k™n%”—z{`”—r?b7|*nAt?lzaƒyzi%”—zij”œ{`bokPyzrjs`|*b7{zlzrjbeÉZk6i~i?b7a±`˜œp|*s`{`b s6£°v,’“i?š+”œnj|}^0ijnjk™njba0bKn~iË\š+”œ˜–˜zb m`b| lzn?bo|*sKrjrjb| n?˜œp6¥

fobnjlzr~ziO£¶rjsRa yzrjs`|*b{>lzr?b7i k6rjbeaƒk6zk6‰6b7{±Kp”œ>i?b7r?nj”œ`‰ƒ|*s`{`bPk™n n~^`b²r?bnjlzr~yMs6”—Knnjs-b7zi~lzr?b¯nj^zb¯q v­”—irj”œ‰R^Kn ¥%]+^`”—i

| sŸ{zbaƒk6³™b7i²ijl>r?bn~^`b›b*m`b7| l`nj”–sKÂrjbi~lza0bik™n²nj^zbr?”œ‰R^Kny`˜—k6| b6¨s6n~^`brjš+”œijbaƒk6³™b7ik0t?lzaƒy´njs·nj^`b^zsRa0s6˜œs6‰RsRlziP|*s`{`bR¥

"2”œ‰Rlzrjb40”œ˜œ˜œlzijnjr~k™njbi+^`sWš 6>Ã¤Ä°Å¶Æ ^zk6z{z˜–b7i nj^`”—io{`”7›| l`˜œn“pR¥

program rest of the P_exec ?

Should we be in

program rest of the

"foo" here return from

no no

yes yes

label label_bis

P_inst P_exec

call foo call foo_bis

Inserted code

Should we be in P_inst ?

return from

"foo_bis" here

"”œ‰Rl>r?b4 0µ]+^zbPaƒkRzk™‰Rba0bKn s™£nj^`brjb n~lzrj>i£¶r?sKa yzrjsŸ| b{zl>r?bR¥

6zöİŶƖŒ Ñ Ò Í Œ

]+^`b7r?b²kRr?b²Ÿlza0brjsRlzi ijs6˜—l`n?”œsR>i n?sƒb*m`b|l`n?bPn~^`bi?š+”œnj|}^±Mb n“šb b±Ms6nj^| sRy`”œbi s6£|*s`{`bR¨>lzyMsRk?|k™˜œ˜Pb •6b7Kn ¥n"2”–‰Klzr?b

{`b7ij|r?”—±MbiOnj^`bP|*s`{`bPi?b7|*nj”–sKšOb¯”—zi?b7r?njb{njs0yMbr?£¤sRr~a nj^`bPijš+”–n~|}^`bilzyMsRy>r?s`|*b7{zlzrjbe|k™˜œ˜œiOsR›kR›”—Kn?br~zk6˜Mb•6bKneÉ Õº>ºB¸

a0s`{`bos6£ 6zÃ¶Ä°Å¶Æ Ë ¥%]+^`”—i,|*s`{`boijb| n?”œsR0š+”œ˜–˜Ay>b7ru£¤sKrjanj^`b<ijš+”œnj|}^-£¶r?sKa j`s6’Zn~rjkR|*b |*s6˜œ˜œb|*nj”–sKJoa-s`{`b+njs*?njr~k6|*b+| s6˜œ˜–b7|*n?”œsRe

a0s`{`b©kW£¤njbrRQ-Sƒ¸UTK¸#US-» j¸}¼: 3¡yzrjs`|*b{>lzr?b| k6˜–˜—iÉ¿kRz{ª•K”—|*b ’Z•Rbr~ijkŸË ¥ "2”—rjijn ¨ k™nƒn~^`b·±>b‰6”—z`”—`‰s™£en~^`b©yzrjs`|*b{>lzr?bR¨Ok

[

KD RAPLZ1DE<1IW;! ,2K;=MVGs Z1Dnd)DOKDE<]D#"%$FGP1P]IW;=<]DEsFGA[Rfd;;=VGD@RA*BR<LFRdVGDOMQsRmIWDEsD@R>K[ILFGghDoILKDOD_X2D@>EMILFG;=APLZ\FIL>KDEPtIW;hRA;IWKDE<\>E;=QY

;pwIWKDO>E;sD=j

`baou`dc

(12)

a0s`{`b|}^`b|}³I”œiƒ{`sK`b±Mb|k6lzijbn~^`byzr?s`| b{zlzrjba0”œ‰R^Kn0^>k¾•6b±Mb b7 | k6˜–˜œb{¢š+”–n~^ k6¢”œz{z”œrjb| n0|k™˜œ˜¿¥]+^`bªk…| sRlzKn?b7r”—i

”—z| rjba0b7Rnjb{k6>{…njbijn?b{°¥ 4£+rjbžŸl`”—rjb{®¨®n~^`bijš+”–n~|}^…”—iyMbr?£¤sRr~a-b7{®¥]+^`”—ia0sŸ{zbƒk6˜–˜œsWšoi²rjbyzrjs`{zlz|*”—±`˜œb-n~rjkR|*”—`‰Ÿ WsRŸ’4˜œ”œ`b

ij”œa-l`˜—k™n?”œsR|}^zk6”œzi¥

foo code foo_bis code

foo:

yes

no

yes

no P_inst?

++p_inst_counter p_inst_threshold ?

==

no no

Inserted code

P_exec P_inst

++p_exec_counter p_exec_threshold ?

==

yes yes

foo_bis:

Should we be in P_exec?

Should we be in

p_exec_counter := 0 p_inst_counter := 0

"2”–‰Klzrjbw0,xKš+”–n~|}^`”—`‰ƒ£¶r?sKa sRzbP| sRyKp›s6£|*s`{`b²njsƒnj^`b²sRnj^`b7r ¥

"MsRr0|*s6˜œ˜œb|*nj”œz‰…”—Ÿ£¤sRr~aƒk™n?”œsR°¨%šObaƒk¾pk6˜œijs…rjb ˜œpsR¢b m`n?br~zk6˜Ob•6bKn~i ¥¢xŸlz|}^ªkIa0s`{`bijš+”œnj|}^¢”—i0”œaƒy`˜œba0b7Rnjb{ªk6i

£¤sR˜–˜œsWšoiÉ?¼@ N a0sŸ{zbs™£ 6zÃ¶Ä°Å¶Æ Ë0ok›i~^zkRr?b7{•¾kRr?”—k6±z˜–bR¨A|k™˜œ˜–b7{¼Sƒ¸ TŸ¸ #™¨A”—ieyMbrj”–s`{`”—| k6˜–˜œpr?b7k6{·±Kpnj^`b-n“šOs|*˜œsR`b7ios™£µn~^`b

njbijn?b{kRyzy`˜œ”œ|k™n?”œsR°¥2we| | sRr~{`”œz‰-njs”–n~i •¾k6˜œlzb6¨zk0‰6”œ•6b7| sRyKps™£2nj^`b²| sŸ{zb¯”—i+b mŸb7| l`njb{Iɶ”Z¥bR¥%nj^`bijš+”œnj|}^”œi+yMbr?£¤sRr~a0b{sRr

`sRn Ë}¥Ow<b mŸnjbr~zk™˜°y>r?s`|*b7iji+| sRKnjrjs6˜—inj^`b²b m`b| lzn?”œsRa0sŸ{zb±Rpšor?”œn?”—`‰ ¼Sƒ¸UTK¸ #6¥Ounj^`”—io| kRi?bR¨¼Sƒ¸UTK¸ #¯”—iorjbk6{”—n~^`b

n~rjkR|*b{·y>r?s`|*b7ijiošo^`bb7k6|}^”œKnjbr~zk™˜#b •6b7Knok6yzyMbkRrji²ÉZyzrjsŸ| b{zl>r?b|k™˜œ˜ÕË}¥o]+^`b”—zi?b7r?njb{|*s`{`b”œ·n~^`b| ˜–sK`b{·kRyzy`˜œ”œ|k™n?”œsR

”—ioij˜–”œ‰R^Kn?˜œpi~^`sRrjn?b7rnj^zkR£¤sKr nj^`b ÕºMºA¸%a0s`{`b²s™£ 6>Ã¤Ä°Å¶Æ ¨>±Mb|k6lzijbPnj^`b7r?bP”—io`s`b b7{£¤sRr ”—Rnjbr~zk™˜°| sRlzKnjbr~i ¥

SALTO

Link Assemble calvin.so

SALTO

Instrumentation_tool.so

Application.cloned.intrumented

*.inst.s *.exec.s

*.inst.i.s

*.cloned-instr.s

instrumentation-code.o setup_code_cloning.o

*.s

Concat

"2”–‰Klzr?b 0 eb7`br~k™nj”œz‰ƒkƒ| ˜–sK`b{Ÿ’4”—zi?n~rjl>a-b7Kn?b{k6y>y`˜–”—| k6n?”œsR®¥

uou Awv=vCx=x

Références

Documents relatifs

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

Unit´e de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unit´e de recherche INRIA Rhˆone-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST