HAL Id: inria-00000866
https://hal.inria.fr/inria-00000866
Submitted on 28 Nov 2005
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub-
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,
A PCC Architecture based on Certified Abstract Interpretation
Frédéric Besson, Thomas Jensen, David Pichardie
To cite this version:
Frédéric Besson, Thomas Jensen, David Pichardie. A PCC Architecture based on Certified Abstract Interpretation. [Research Report] PI 1764, 2005, pp.35. �inria-00000866�
I R
I S
A
IN STITU
T D E R
EC HERCH
E EN INF ORM
ATIQ UEET
SYST ÈMES
ALÉATOIRES
P U B L I C A T I O N I N T E R N E
No 1764
A PCC ARCHITECTURE BASED ON CERTIFIED ABSTRACT INTERPRETATION
FRÉDÉRIC BESSON , THOMAS JENSEN , DAVID PICHARDIE
INSTITUT DERECHERCHE EN INFORMATIQUE ETSYSTÈMESALÉATOIRES
Campus de Beaulieu – 35042 Rennes Cedex – France Tél. : (33) 02 99 84 71 00 – Fax : (33) 02 99 84 71 71 http://www.irisa.fr
!#"$%&'
( ) *+,#
-/.103203.146587:93;<;1=?>A@CB/DFE=?GIHJ;LKJ93>;<93>A@J@BNM&HPO!4Q2SR465TE/HJ.<24Q9U@?@?@
VPWYX[Z]\_^a`<XXbWP^)cJdfehghi3jU`
kNl dnm[`_Zpo!qnrtsY`
k jUcuevgxw_qnZbghdfr&gvr3Z]` l rU`,rzy|{n}n~)dT`_^)c l `, nf3,,uqff`1X
L<_TUff kNl dPdn +q lbl WPgvruAdYsY`k ghXqLZb`<wurUghi3jU`d l sYdTrUehdqsYghrUL^adfcugveh`w_dPsU`dr
qUd3X[Z^FqfwUghrU`Ughev`,`_rtXj
l
ghrUZ]uqTZ Zbu`w#dYsY`,qfsYU`
l
`1XAZbdZbU`,Ud3X[Z1XXb`<w_j
l
gvZ[Watdevgxw#W /¡¢`£XbUdT
udT¤w#`
l
Zbgv¥u`1s¦qnctX[Z
l
qw§Z)ghr3Zb`
l l
`#ZqTZbghdfrIw_qnrIct`juXb`<s¨Zbd8cujUgvexs©q
k
¤q
l
wUgªZ]`<w#Zbj
l
`«U`
l
`ZbU`
w_dYsY`a l dYsYjtw#` l w_qfr¢ l dYsYjuw_`a l d l qn^¬w#` lZ]gª¥tw<qTZ]`<X,qnjYZ]df^FqTZ]ghw<qnehevW aAdYsY`Fw#druXbjU^a` l XjtX`a l dPdn
wu`<wf` l XsY` l ghf`<s®l d^¯w#` l Zbgv¥u`1s¨qnruqfevWYXb` l X£Z]d°wU`1w¨w#` lZ]gª¥tw<qTZ]`<X< kl dPdnwU`<w` l X)w_q lbl W¢ZbU`<gl
dTrIw#d l]l `<w§Z]rU`<X]X l dPdn±X:qnrts¦qfw<w#`<YZbghrU¢q¢rU`<¤ l d3dfpwU`<w` l qn^adfjUr3ZXZ]d8Z[WPJ`wU`1wPgvrU8ZbU`
wu`<wf` l ghr&AdYiJ ² u`wU`1w3ghrUdfw#` l Z]gª¥Jw_qTZ]`<XghX qfw<w#`<ev` l qnZb`<s:cPW«q£Z]`<wUrughi3jU`pd l JdXZ³[´¥UµYJdfghrZ
w_df^a l `<X]Xghdfr! ² U` k q l wUgªZ]`<w#Zbj l `¶uqXLcJ`_`<r·`_TqnehjuqnZb`<s·`#µYt` l gh^a`_r3Z]qfevehW¸dfr·q¦c3W3Z]`¢w#dYsY`
exqnrufjuqff` d l Ugxw«+`puq|`psY`<XbghfrU`1s«qnr«ghr3Zb` lTqne?qnrtqnehWPXbgxXZbuqnZ qfevehdTX/Z]d)`_rU` l qnZb`pw_` l Zbgv¥tw_qnZb`<X
qXbw_` l Z]qfgvrUghrUZbuqnZrUd«q l]l q|W3³´dfjYZb³Qdf¹³QcJdfjurusUXqw_w_`<X]X`1XAghehe'dPw<w#j l
º¼»3½?¾]¿)À TÁf kl dPdn+q l]l W3ghrUFAdPsU`fÂuqfcuX[Zl qw§Z gvr3Z]` l l`_Z]qnZbghdfrzÂY l dPdnqfX]XgxX[Zqnr3Z<ÂuAdYi
ÃxÄ'ÅbÆ´Ç<È ÅÉÊhÆ´ËQÌ#Í
ÎϹбÑÓÒ´Ô#Õ]ϹÖ|бÑ×Ô
ÎØΠϹбÑÓÒ´Ô#Õ§Ù'ÚÛÜ
ÎØÎØΠϹбÑÓÒ´Ô#ÕÝtÚÜÙ'ÔÞ´ß|ÔÖ:àxá?бâØã´Ôä§Ö1â]å
A §"
oz`! #"$%'& k `<XZ)jUrU`FZ]`<wUrughi3jU`«Jdfj l Z(<e)(1wuq l f` l sYj¨w#dYsY`
Xbj l jurU`£^FqfwUghrU`£+*fZb`,ZbdjYZ`_r¶qXbXbj l qnr3Ziju`)w#`w_dPsU`qfsYU\ l`-,aexqatdevgxi3jU`sY`)X(<w_j l gªZ.(,sU`)w#`_ZZb`
^FqwUgvru`f dfjtX^adfr3Z l druXw_df^a^a`_r3ZAeQghr3Zb` l l (#ZqTZ]gvdr«qncuXZ l qngvZb`pw_` l Zbgv¥/(_`pt`<jYZ10_Z l `pjYZ]gvehgxX(<`pJdfj l
w_dfruXZ l jUgl `jUrU`Fq l wUgvZb`1w§Zbj l ` k Jdfj l exqfi3jU`<eveh`:ehq l dYsYjuw§Z]gvdr¢sY`Fw_` l Zbgv¥tw_qnZ`1X[ZqnjUZbdf^FqnZbgxiju`
Jdfj l eh` l dPsUjuw§Z]`_j l sU`pw#dYsY` k dj l ( l gv¥u` l ev`1Xw_` l Zbgv¥tw_qnZ]X<Âfeh`<Xw_dfruXbdf^a^FqTZ]`_j l X/sY`w#dYsY`jYZ]gvehgxX`<rZ
eh`<X( l gv¥tw_qnZb`_j l X£sY`L l `<jUf`1X, l dPsUjUgªZX2,¼uq l Z]gl szqfruqnehWYX`<j l X£XZ]qnZbgxi3jU`<Xw_` l Zbgv¥/(<X< &oz`<X( l gv¥tw_qn³
Z]`_j l XpsU` l `_jU`<XpXbdfr3Zp`<jYµP³Q^30<^:`1Xpqw_w#d^auqnr+(<XsY`)ev`<j l l `<jUf`sY`:w#d lbl `<w#Zbghdfr`#Zqw_w_`_YZ]` l jur
rudfjU`<qnj( l gv¥tw<qTZb`<j l Xb` l qf^:\<rU`2,a( lgv¥u` l XdrcJdfr&Z[WPuqff`)AdYit +o!qa'( l gª¥tw<qTZ]gvdrsY`w#` lZbgv¥tw<qTZ]X
`1X[Z qfw<w4(_e5(
l
(_`tq
l
jurU`Z]`<wUrUgxi3jU`sU`w#d^a
l
`1XbXbghdfrFsY`±td3X[Zb³Ø[tdgvr3ZXN¥UµY`1X_ /oNq l wUgvZb`1w§Zbj
l ` k
©q
(_Z(2(<Tqnehj+(_``_µY6(
l
gh^a`_r3Z]qfev`<^:`<r3ZXj
l
jUr¶exqnruqn`2,6789:&<;<=%&tdj
l
eh`<i3jU`<e!rUdjuXpq|dfruXpw#dfr6>#j¼jUrU`
qfruqnehWYX`s'ghrZ]`
l
Tqnehev`1XNi3jUgu'(_rU\
l
`sY`1Xw_`
l
Zbgv¥tw_qnZ]XNi3jU`pqXbXbj
l
`_r3Z/e6qnctX`<ruw#`s'qfw<w#\1X/Ud
l
XNsY`1XNcJd
l
rU`<X
sU`<X+Z]qfcUeh`<qnjUµ?
?À 1:'@ kNl dPdn/+q lbl WPgvruFAdYsY`ÂYgvr3Zb` l l (_Z]qTZ]gvdrqfcuXZ l qngvZb`fÂYqXbXbghXZ]qfr3Z sY`£ l`<jUf`ÂtAdPi
( !F#
kl dPdnN+q l]l WPghrUaAdYsY`ak +ghXqZb`1wUrUgxi3jU`d l sYdTrUehdqsYgvru^adfcugveh`£w#dYsY`dfr&qudXZ+^FqfwugvrU`
ugveh`F`_ruXbj l gvruZ]uqTZ)ZbU`«w_dPsU`«qfsYU` l `1XZbd&Z]U`FUdXZ<XXb`<w_j l gvZ[W¶Jdfehghw_Wf L² u`FcuqfXbghwagxsY`1q&ghX,Z]uqTZ
Z]U`)w_dPsU`£ l dYsYjtw#` l X`<rusUX Z]U`)w#dYsY`£gvZb¶qa l dPdnghr¶qFXbjUgªZqncUehW&wUdXb`_revdfgxw<AZ]uqTZZ]U`)w_dPsU`£ghX
Xb`<w_j l `f Jdfr l `<w_`_YZ]gvdr«dn?Zbu`w_dPsU`fÂZbU`w#dYsY`w_dfruXbjU^a` l XjucU^agªZXNZ]U` ldPdn?Z]dq£ l dPdn!wU`1wf` l
d l Zbu`«evdfgxwn L² PjuX<Âgvr Z]U`«cuqXgxw k q l wUgvZb`<w#Zbj l `fÂzZbU`«drUehW¢w#d^atdrU`_r3Z]X£ZbuqnZ)uq|f`:Z]d¶ct`
Z l jtX[Z]`<s q l `aZbU`L l d l qn^ ehdfghwfÂzZ]U`« l dPdnwU`<w` l dn Z]U`«ehdffgxwaqnrus°Z]U`Fd l ^FqnehgxXbqnZbghdfr°dn ZbU`
Xb`<w_j l gªZ[W l dt` l Z[Wghr:ZbUgxX/ehdfghwf p`_gvZbU` l ZbU`^adcUgveh`w#dYsY`rud l Zbu` l dfJdXb`<s:X`1w#j l gªZ[W) l dPdftuq|`
Z]dact`,Z ljuXZb`1s'
r¼Z]U`_g
l
Xb`_^aghruqneAd
l
?Âup`<w_jUehqLqnrus¼o!`_`hy_~UÂy1qTµYghdf^FqTZ]ghXb`<XZbU`
l
d
l
qn^¤jtXghrULqpdq
l
`_³
ehghf`pehdfghwf ud
l
qgv`_rLXb`<w_j
l
gvZ[W:tdevgxw#WÂZ]UgxXAehdfghww#d^:`1X/Z]dff`_ZbU`
l
gvZbq&41;<9 ;< %!9
" &8 &89Af`<r&ZbuqnZpf`<rU` l qTZ]`<Xeh`_^a^FqfXpgvr¢q«XWPr3Z]qnµP³´sYgl `<w§Z]`<s±qfXbUghdfr¼Ugxw¼ l dPdn±Xpq l `XbjY¹³
¥Jw#gh`_r3ZZ]d`<ruXbj l `)ZbU`: l dfJ` lZ[Wf Ud l `<qfw8ev`<^:^FquÂ?q^FqfwUghrU`_³´wU`1wTqncUeh` l dPdn/Zb` l ^ tqfXZbdct`
`_rU` l qnZb`1s8cPW¢ZbU`Lw_dYsY`« l dYsYjuw#` l Ud l `1qfw k gvrtX[Zqnruw_`fÂZbU` l dPdfAd l ^FqTZgxX)w_juXZbdf^ag_`1s
gvZb¨qnµYgvd^aXF.&"hÂd l q l gªZ]U^a`#Zbgxw_X§ ! ¼d l `_dT` l Â?ZbU`XdjUrusYrU`1XbXdn+ZbU`«` l gª¥Jw_qTZ]gvdr°w_dfrusUgªZ]gvdr
`_rU` l qnZbd l gxXNrudnZ l dTf`1s)cujYZZqnf`<r:d l l qfrZ]`<s'Âfuq|PgvrUqXNw#druXb`<i3jU`_rtw#` ZbtqTZ"[ZbU` l `+` l `` l]l d l X
ghrZbuqnZw#dYsY`,ZbtqTZ`<X]w_qft`1s«Z]U`,Zbud l dfjU«Zb`1X[Z]gvruFdn!Z]U`£ghrYl qX[Z l jtw§Zbj l`$#%vy'&´
²d l `_^a`<sUW8Z]U`<Xb`L+`<qf3ru`<X]X`1X_Â(UJ`_e)Ó uqfX) l dfJdXb`<s°Zbu`rUdfZbghdfr®df 4* %'9 *+ .
;< ! " ;<=%&, k # kNl df l qn^ X]qT`#Z[W:gxX+sU`#¥urU`1sLsYgl `<w§Z]evWaghr«Z]` l ^aXAdnqnr«dt` l qnZbghdfruqfetXb`_^FqnrY³
Z]ghw<X_Â3Z]U`,f` l gv¥tw_qnZbghdfrLw_dfrusYgvZbghdfrtX+q l `f`<rU` l qTZ]`<sal df^ Z]U`, l d l qn^ X`<^Fqnr3Zbgxw_X l qTZbu` l Zbuqfr«l df^
Xbdf^a`: l df l qn^¬ehdfghw:qnrus¶ZbU`«X]qT`_Z[W¼ l d3dfgxX£qL l dPdnNZ]` l ^ dnAZbU`ajUrtsY` l evWPghrUevdfgxwnÂ'U` l `Fo-+
² ughXghruw l `<qX`1XZbU`w_dfrY¥tsU`_ruw_`gvrZbU`w_d l]l`1w§Z]rU`<X]XdnJZbU``_rU` l qnZb`<s)f` lgv¥tw_qnZbghdfr:w#dfrtsYgªZ]gvdruX< ² U`
sUdTruXgxsY`df-
k
IghXNZbuqnZZbu`w#druXZ
l
juw§Z]gvdr:df'ZbU`p
l
dPdf±XNgxXN^FqfsY`XghfrUgv¥tw<qnr3ZbehW^ad
l
`w_df^aUeh`#µ
cJ`<w<qnjuXb`
l
dPdf±X:q
l
`&sYdrU`sUg
l
`<w#ZbehW®dfrIZbU`¼Xb`_^Fqnr3Zbgxw_X
l
qTZ]U`
l
Zbuqfr¦Z]
l
dfjUIXbdf^a`w_juXZbdf^ag_`1s
ehdfghwf
.rU` l `<qXdr«d l cujUgvexsYghrUaZbu`) k q l wUgvZb`1w§Zbj l `,sYgl `1w§ZbehWLjutdrLZ]U`£dfJ` l qTZ]gvdruqne'Xb`_^Fqnr3Zbgxw_X
gxX)ZbuqnZ<ÂAi3jUdfZbghrU/(pUJ`_eQÂ"bw#dfrtX[Z l juw#ZbghrU8q¢^a`<wuqfrUghw<qnehevW3³ØwU`<wTqfcUev`«w_d l]l `1w§Z]rU`<X]X l dPdndfq¼jUehe
A`_rF+dfjUexsacJ`qsuqnjUr3ZbghrU£ZqfXb? #² UgxXAuqfXrU`_` l ZbU`<ev`1XbXct`<`_rLqw_w#d^aUevgxXbU`<sacPWaghUfdT qnrts
¡ ghexsY^adXb` l PÂP n~*'UduÂ3d l q l`1qfXbdfruqfcUev`XbjUcuXb`#Z dn-03q|Tq£cPW3Zb`,w#dYsY`fÂP l dTf` Z]U`,XdjUrusYrU`1XbXAdn!q
1
&<'2&$9- &<;< % !9 w<qnexw#jUehjuXgvZb l `<XbJ`<w§ZZ]dFZbu`cPWZ]`)w#dYsY`Xb`_^FqfrZ]ghw<X_ ²dF l dT`, l d l qn^FX<Â
Z]U`_WF l dtd3X`qPWPc l gxs«qfU l dqfwaZ]uqTZqfevehdTX/Z]djuXb`ctdfZb«Zl jtX[Z]`<sLqfrus«jurZ ljtX[Z]`<sLw_df^aJdfrU`<rZX_
(pr¢`_µUqn^aUeh`:df+qLZ l juXZb`<s°w#d^atdrU`_r3Z£ghXZ]U`acPWZ]`Fw#dYsY`af` l gv¥u` l ZbtqTZ43,ev`<gvr qnrts¢pgvUdT uq|`
d l ^FqfevgxX`1s®qnrus¦ l dTf`<s®w_d l]l `1w§Z)ghr X]qncJ`_eheh`5hy<*´ 6r3Z l juXZb`1s¦w#d^atdrU`_r3Z]X:q l `«`_µ3Z]` l ruqne XZ]qTZ]ghw
qfruqnehWYX` l XZbuqnZXbjUf`<XZptdfZb`<rZ]ghqfe+±gvrtsYjuw§Z]gv`1gvrPTq l ghqfr3Z]X< p² U`<Xb`ghrP|q l gxqnr3ZXpq l `£Z]U`_r l `_ l dT`<s
ghruXbghsU` X]qncJ`_eheh`£gvrd l sY` l Z]dadfcYZqnghrqZ l qnrtX^agvZZ]qfcUeh`£ l d l qn^w#` lZ]gª¥Jw_qTZ]`f
rZbUgxX+uqnJ`
l
ÂY+`
l
`<Xb`_r3Z q
k
gvrU
l
qX[Z
l
juw#Zbj
l
`pctqfXb`<s«dr ;<&891&.% 7$<9';49 ! /9&4 &49 9
~*´ AA`
l
Zbgv¥u`<sqncuXZ
l
qfw#Z+ghr3Zb`
l l
`#ZqTZ]gvdr«ghX q)Zb`1wUrUgxiju`pd
l
`_µPZ
l
qfw§Z]gvru:q:X[ZqTZ]ghwqnruqfevWYXb`
l l d^ ZbU`
w_dfruXZ
l
juw#Zbghf`
l
d3dfJdf'gªZXXb`_^Fqnr3Zbgxww#d
lbl
`<w#ZbrU`1XbX<ÂT
l
dYsYjuw#ghrUqnZNZbU`Xbqf^:` Z]gv^a`pqfrFqnruqfevWYXb`
l
qnrts:q
l
dPdn/dcYm[`<w#Zw#`
l
Z]gªWPghrU«gvZ]XX`<^Fqnr3Zbgxw)w_d
l]l
`1w§Zbru`<X]X_ 7XghrULw_`
l
Zbgv¥u`<s¶qfcuXZ
l
qfw§Zgvr3Zb`
l l
`_Z]qTZ]gvdr¼uqfX
Z]U`,dfehehdTgvrUZb
l
`<`qfsYTqnr3Zqnf`1X98
• ZbU` k ghrYl qfXZ l juw§Z]j l `,uqXX`<^Fqnr3ZbgxwdfjUrusuqTZbghdfrtXqfXXZ l dfrUaqfX+Z]UdXb`,dn: k Â
• w#dYsY`w#` lZbgv¥tw<qTZb`1X)w<qnr¨cJ`LcUjugvevZl df^ l `<XbjUeªZX)dfjUr3Z l juXZb`<s¦X[ZqTZbgxw«qfruqnehWYX` l X£gvZbudfjYZ:ZbU`
rU`_`1sdn l`_³Q l dTPgvruZbu`<Xb` l `<XbjUevZ]X ghruXbghsY`qZ]U`_d l `<^¤ l dTf` l Â
• l d3dfNw_q l]l W3ghrUa l dPdn/wU`<w` l Xw_qfrcJ`)cujUgvevZghr¶Xbjuw¶qF q|WFZbuqnZpZ]U`)w#dYsY`w#dfrtXjU^a` l w_qfr wU`<w«ZbU`<gl w_d l]l`1w§Zbru`<X]X+qfjYZbd^FqTZbgxw_qfevehWFjuXbgvruaZbU`AdYiaZ[WPJ`wU`<wPghrU^a`1wuqnrUgxXb^
² u`)Z]Ugl s¢tdgvr3Z,dfJ`_ruXjU¢d l Zbu`:JdX]XbgvcUghehgªZ[W¼dfAXbqn`_ehW¶sYdTrY³´evd3qfsYghrU« l dPdn+wU`<w` l X_Â?qfsUsUgvrU
t`#µYgvcugvehgªZ[W«ZbdaZbu` k ghrYl qfXZ l juw§Z]j l `f
r8ZbU`:rU`#µPZ,X`1w§Zbghdfr8A`fghf`)qfr¶dTf` l Pgh`_ dn/Z]U` k q l wUgªZ]`<w#Zbj l `)cuqX`1s&dfr8w_` l Zbgv¥u`<s¢qncY³
XZ l qfw#Zgvr3Z]` l l`_Z]qnZbghdfrz VP`<w#Zbghdfr¶Fw_dfr3Z]qfgvruXZbU`:XWPr3Z]qnµqnrtsXb`_^FqfrZ]ghw<Xdf/qacPW3Zb`w#dYsY`exqnrUjuqn`
Z]uqTZ+gvehe?X` l ` Zbd)`_µY`_^aUehgªWFqnrtsa`#µYt` l gh^a`_r3ZZ]U`q l wugªZ]`<w§Z]j l `f rVP`<w#ZbghdfruX~qfrus«,+`pdfjUZbehgvrU`
Z]U`l qf^:`<Ad l °dnw#` l Zbgv¥u`1s¦qnctX[Z l qw§Zghr3Zb` l l `#ZqTZ]gvdr¨gvr AdYi®qnrus¦gvruXZ]qfr3ZbgxqTZb`1XZ]UgxX:d l q8rU`<
XZ]qnZbgxwpqfruqnehWYXgxX/d
l
ghr3Zb`
l
TqneJqnruqfevWYXbghXdfr«cPW3Zb`,w#dYsY`
l
d
l
qn^FX< !² U``_rus
l
`<XbjUevZAgxXAZbU`£AdPiaXbgvruqT³
Z]j
l
`£dnNqFX[ZqTZ]ghw£qfruqnehWYX`
l
w#`
l
Zbgv¥u`1sgvZb
l
`<XbJ`<w§ZZ]d«qFX`1w#j
l
gvZ[WLJdfehghw_Wf +VY`<w§Z]gvdr¶}FsY`<X]w
l
ghct`1XUdT
l dPdn!w<q
l]l WPghrU£
l
dPdn!wU`1wf`
l
XNw<qnr«cJ`cujUgvevZ+
l
d^ w_`
l
Zbgv¥u`<sLX[ZqTZbgxwpqfruqnehWYX`1X_ ¡°`¥
l
X[Z
l
`<Xb`_r3ZAqfr
jurUdfYZ]gv^agxX`1s¶ l dPdnAwu`<wf` l qfrus¼Z]U`_r sY`_`_ehdf°q« l dPdnAwU`1wf` l Ugxw¢w_` l Zbgv¥tw_qnZb`1Xq l` $+ ! /9
.&.;< 9/;89 99 &:" &$§ ¶VP`<w#ZbghdfrI{`_µPuehqfgvruX)UdT Zbd¶`_rU` l qnZb`F`«w_gv`<rZ:X[Z l qnZb`_gv`1X,ZbtqTZ)eh`<qs
Z]dL` l Ww_df^auqfw#Z l df l qf^%w_` l Zbgv¥tw_qnZb`<X< £VP`<w#Zbghdfr5&L`#µYUexqnghruXpudT ZbU`«AdYi l d l qn^ `_µPZ l qfw§Z]gvdr
^a`1wuqnrUgxXb^gxXNjuXb`<s:Z]d£gv^aUeh`_^a`_r3Z+`«w#gh`_r3Z l dPdn'wU`<w` l X/qnrusFsU`<X]w l gvcJ`<XNqfra`#µYt` l gh^a`_r3Z]qfeu`<|qfeª³
jtqTZbghdfr¼dfZbU`ghrYl qfXZ l juw§Z]j l `£gvr¼Ugxw8qFw_dfehev`1w§Zbghdfr¼dfNq l]l q|W3³´gvr3Zb`<ruXbgv`qnehfd l gvZbu^aXpq l `w#` l Zbgv¥u`1s
Z]dafjuq l qfrZ]`_`ZbuqnZZbU`w_dYsY`,gvehezrUdfZ ^Fqff`£q l]l q|WFqw_w#`1XbXb`<XAZ]uqTZpq l `,dfjUZ dfcJdfjurus'
£ ¤ S*F"!¸ $#
² u`« l d3df wu`<wf` l ghXZbU`w#d l rU` l XZbdrU`adnq k ghrYl qX[Z l jtw§Zbj l ` kNl `_PghdfjuXl qf^:`<Ad lYXuq|`
qsYfdYw<qTZb`1sLXb^Fqnehe6ÂU+`_ehev³´XZbjusUgv`1s'Â%u`#µYghcUeh`£ l dPdfwU`1wf` l X'&3ghr&uq l Zbgxw#juehq l ZbU`£ l dPdn¹³ØwU`<w` l dnZbU`
( ." ;<*+% 3&
1
>26o-/§ n² u` o & l d3dftwU`1wf` l ghXXb^Fqnehe3gvZbaXbdfjUrusZbU`<d l `#Z]ghw<qnedfjUrusuqTZbghdfrtXØ
Z]UgxXghruw l `<qX`1Xw#dfrU¥tsY`_rtw#`£ghr¼gªZXw#d lbl `<w#ZbrU`1XbX< ² U`t`#µYgvcugvehgªZ[WdnNo-I^a`<qfruX ZbtqTZqfr3WLuq l Zbgxw#jUexq l
k ghruXZ]qfruw#`«w<qnr ct`w_qfXZghrZ]d&ZbU`«l qf^:`<Ad l ? pdTA`<f` l Âzghr ZbughXX`_ZZbghrUtÂcUjugvexsYghrU¶q¼ l dPdn
6qnr®o-·Zb` l ^«gxX£qTZcJ`<XZrUdfrY³QZ l gh3gxqne6qfX£ghr®`1w#jUexqUX,cuqfXbgxw k l qn^a`<Ad l Uqnrus°Xd^a`#Zbgh^a`<X
ghrY`1qfXbgvcUeh`f
(+ZZ]U`LdfZbU` l `_rts dn+ZbU` k XJ`<w#Z l jU^&Â!Z]U` 03q||q&cPW3Zb`«w_dYsY`«f` lgv¥u` l juX`1s gvr Z]U` 3)
Ó n* l `<evgh`<Xdfr®q¼Xtq l X`:Z[WPt`qnrUrUdfZ]qnZbghdfr°Zbd¶qXbXb`<X]XZ[WPt`_³´X]qT`_Z[Wf ² ughX£ l dPdnwU`1wf` l tqfX£cJ`_`<r
sU`<XbgvrU`<s)d
l
Z]U`XJ`<w_gª¥tw+ZqfXbdnJcPWZ]`w#dYsY`wU`1w3ghrUtÂTUghw:^a`<qfruXZbuqnZNgªZNgxX±qfXZqnrts)juXb`X^Fqfeve
w_`
l
Zbgv¥tw_qnZb`1X_
rqsUsYgvZbghdfrzÂPZ]U`£XJ`<w_ghqfevgxXb`<sFruqnZbj
l
`dnXbjuwsY`<sYgxw_qnZb`1s«
l
dPdnwU`1wf`
l
XA^a`<qnrtXZ]uqTZ
Z]U`_Wq
l
`df¹Zb`<r`1qfXbgv`
l
Zbd«sY`1Xghfr&qnrusw#druXb`<i3jU`_r3Z]evW«
l
dT`w_d
l]l
`1w§Z<
r8ZbU`)dfehevdTghrUuÂJ+`) l dfJdXb`)qnr8`#µPZb`<ruXghcUeh` k l qf^:`<Ad l LZbuqnZqfevehdTXZ]dsYdTrUehdqs %
/; ldPdn¹³ØwU`1wf` l XX]qT`_ehWf ZX,q l wUgªZ]`<w#Zbj l `)gxXXbjU^a^Fq l ghXb`<s¶gvr gvj l `yn ² U`aq l wUgvZb`<w#Zbj l `)ghrY³
sUjuw#`1X)qZ[+dn³ØX[Z]`_ l dnZbdYw_dfeNcJ`#Z[+`_`<r¢Z]U`L l dYsYjuw_` l qfrus¢ZbU`w#druXju^:` l r Zbu`F¥ l X[ZXZb`<zÂZbU`
ldYsYjuw_` l i3jU` l gh`<X+Z]U`w_dfruXbjU^a` l Z]d«PrUdT U`#Z]U` l gªZpdTrtX ZbU` l `<ev`<|qfr3Z l dPdf¹³´wU`1wf` l /rUdfZ<Â
Z]U`) ldYsYjuw_` l X`<rusUXpZbU`awU`<w` l Z]df`#Zbu` l gvZb¢gªZXXbdfjurusYrU`1XbXp l dPdf[ ² UgxXXbdfjurusYrU`1XbX l d3df/ghX
Z]U`_r¦f` l gv¥u`<s°cPW°q¶f`_ru` l qneNUj l JdXb`« l dPdn¹³ØwU`<w` l cPW8Z]U`w_dfruXbjU^a` l UduÂgvZbU`«` l gª¥Jw_qTZ]gvdr
!"# $%&$'%($
)
!"# $%
* )$
+ *,%
*.-/
0
-2134 $'%%4
5 5
56)$
7+ 89'5;:
+
8.4 <$
0 +
=89#=-$%$
#=-$
)$ >
-213@?
!"# $%
$A-$*
B-2
7C$DFEG)H
13$*.-2I:
ghfj
l
`ay 8 k
q l wUgªZ]`<w#Zbj
l `
Xbjuw<w#`_`1sUX<Â'gvruXZ]qfevexXZbU`arUdT w_` l Zbgv¥u`<s°wU`1wf` l r8Z]UgxX,+q|WZbu`aq l wugªZ]`<w§Z]j l `w#d^)cUghrU`1XpZ]U`FqfsP³
TqfrZqn`<X dncJdnZb¼q:Z l juXZ[+d l ZbPWLw#d l `, l dPdn/wU`<w` l qnrts t`#µYgvcuev`'% /; l d3dfwu`<wf` l X< .ruw#`
Z]U` l dPdf!wU`<w` l tqfX+ct`<`_rgvruXZ]qfeveh`<szÂZ]U`,w#dfrtXjU^a` l gxX l `1qfsYW:Zbd:sYdTrUehdqsaZbU` l df l qf^ dfzZbU`
ldYsYjuw_` l 4(pX,gvZ£ghX,w#jtX[Z]df^Fq l WfÂJZbu`: l dYsYjuw_` l X`<rusUXZ]U` l d l qn^¬uqfwTqff`<s¶gªZ]°qw#` l Z]gª¥tw<qTZ]`
Z]d)cJ`wu`<wf`1sacPWZ]U` l `<PgvdjuXehWasYdTrUehdqfsU`<sa l dPdnzwU`<w` l ²d)cJdPdnZX[Zl qfaZbU`gvrUl qX[Z l juw#Zbj l `fÂ
Z]U`w_dfruXbjU^a` l dfrUehWauqfXNZbdghruXZ]qnehe?q£f`<rU` l qneUuj l JdXb` l dPdnzwU`1wf` l &fdj l l qn^a`<Ad l ghXcuqfXb`<sadr
Z]U`AdYiF l dPdnqXbXbgxX[Zqnr3Z }UÂU Q
"!$#"%&'
² u`A l dYsYjuw_` l qnrus:w#druXbjU^a` l uq|f`AZbd,qn l`<`dfr:qd l ^aqfe^a`1qnrUghrUdnuZ]U`X[ZqTZ]`_^a`_r3Z"($(I l df l qn^
k XbqnZbgxX[¥u`1Xq¶Xb`<w_j l gvZ[W8 ldt` l Z[W V k (T ¶² ughX)ghXsYdfrU`Lc3W¢ l dT3gxsYghrU¶q¢AdYi°XJ`<w_gª¥tw<qTZ]gvdr°dfZbU`
Xb`_^FqfrZ]ghw<XA±U` l `fÂTqX^Fqfevev³´XZb`<dfJ` l qTZ]gvdruqne3X`<^Fqnr3Zbgxw_X'dfUZbU`+ l df l qf^Â|qnrts£ l dT3gxsY`+qpXb`_^Fqnr3Zbgxw_X
ghr3Zb` l l `#ZqTZ]gvdr¶dnNZ]U`aX`1w#j l gªZ[W¼ l dt` lZ[W ¡°` l `1X[Z lgxw§Z,dfj l qTZbZb`<rZ]gvdr¶Z]dX]qT`_Z[W¼ l dt` l Z]gv`1XZ]uqTZ
^juXZUdehs·d
l
qneheZbU`
l
`1qfwuqfcUeh`8`#µY`1w#jYZ]gvdr X[ZqTZ]`<X< ¼d
l
`8
l
`<w_ghXb`_ehWfÂZbU`¦AdYi¸XJ`<w_gª¥tw<qTZ]gvdr
l dTPgxsY`<X8
• ZbU`,Z[WPJ`£dn l df l qn^FX
PgmÂ
• qaX`<^aqfr3ZbgxwsUdf^Fqnghrd
l
XZ]qTZ]`<X
StateÂ
• qaX`_ZdngvrUgvZbgxqnezXb`_^FqfrZ]ghw,XZ]qnZb`<X)8
S0⊂State
• qaX`<^aqfr3ZbgxwpZ l qfruXbgªZ]gvdr l `_exqTZ]gvdrghrusY`_µP`1sc3WL l d l qn^FX
→p⊆State×StateÂ
• ZbU`aXb`_^Fqnr3Zbgxw£ghr3Zb`
l l
`#ZqTZbghdfr¼dfNX`1w#j
l
gªZ[WJdfehghw_gv`1X 8q«
l
`1sYghw<qTZ]`dfr8XZ]qnZb`1X
Safep⊆StateÂ
uq
l
qn^a`_Zb`
l
gxX`1s«cPW«
l
df
l
qf^
(XjuXjtqneQÂnA`+rUdfZb`
→∗pZ]U` l ` u`#µYghf`NZ l qfruXbgªZ]gv`+w_evd3Xj l `dfuZ]U`Z l qfruXbgªZ]gvdr l `_exqTZbghdfrdnUZ]U` l df l qn^
p ² U`Fw_dfehev`1w§ZbghrU&X`<^Fqnr3Zbgxw_Xdn qL l d l qn^
p gxX£sY`#¥trU`<s°qfXZbu`aXb`#Z£df+qnehe l`1qfwuqfcUeh`XZ]qTZ]`<XcPW
→p
ÂuX[Zq l ZbghrU:l d^ qnr`_eh`_^a`<rZdf
S0
)»'*,+,-
-±À.+0/2143
JpK={s∈State | ∃s0∈ S0, s0→∗P s }
)»'*,+,-
-±À.+0/215/
." Xbqn` 2*++!9,-&<';/79+)& <9 9&$2 &444&
JpK⊆Safep
[y1
6ghf`<r¢q l d l qn^
pÂJZbu`aw_dYsY` l dYsYjuw_` l uqfXpZbu`_r¢ZbdL l dTPgxsY`q^FqfwUghrU`#³ØwU`1wf`<s& l dPdnNdf
y1# pdTA`<f` l Â+AdYi l dPdn±XFq l `fdPdYs¨`#µUqf^:uev`dn^aqwUghrU`#³ØwU`<w`<s® ldPdn[ÂAcUjYZLw_dfruXZ l juw§Z]gvru
ldPdn±X ! 69:&8;89 &9+ajuXbgvrUZ]U`LAdPi¶ l dPdf+qfX]XbghXZ]qfrZ£i3jUgxw3ehW¶cJ`<w_df^a`<X,jUrU`<qfXbghcUev`:d l evdT eh`_`_e
exqnrufjuqff`<X< rtX[Z]`<qfszÂYA`, l dfJdXb`Z]d:jtX`,qncuXZ l qfw#Z+ghr3Zb` l l `#ZqTZ]gvdr«ZbdFqfjYZbd^aqnZb`ZbU`£w_dfruXZ l juw§Z]gvdr
dfJ l d l qn^ w#` lZ]gª¥Jw_qTZ]`<X< raZ]UgxXNX`_ZZ]gvrUt l d l qn^FXq l ` qfjYZbd^FqTZbgxw_qfevehW)qfrUrUdnZqTZ]`<s:gªZ]F l df l qn^
ldt` l Z]gv`1X±`_eh`_^a`_r3Z]XdfAqncuXZ l qfw#Z,sUdf^FqnghruX Zbdf`_ZbU` l gvZb°qnr l `1w#dfrtX[Z l juw#Zbghdfr8XZ l qTZ]`_Wf kNl d3df
wu`<wPgvru£rUdT·qn^adfjurZX/Z]d)`#µY`1w#jYZ]gvrUZbU` l`1w#dfrtX[Z l juw#Zbghdfr«XZ l qTZ]`_fWÂf` l gªWPghrU£ZbtqTZAgvZAeh`<qsUX/Z]dqfr
qfcuXZ
l
qfw§Z ghr3Tq
l
gxqnr3Z ZbuqnZgv^aUehgv`1X Zbu`X`1w#j
l
gªZ[WLtdevgxw#W
4 ! "%," "
² u`w#` l Zbgv¥u`1swu`<wf` l XA^)jtX[Zgh^aUev`<^a`_r3ZZbu`XghfruqnZbj l `,`#µY l `<X]X`1sLcPWFZ]U`:AdYiF^adYsYjUeh`
ghr gvj l `8 Y ² U`¼jUrtw§Zbghdfr Zqnf`1XaZ[+d¨q l fjU^a`_r3ZX988q¨ l d l qn^®qnrts q®w_qnrtsYghsuqTZb`
w_` l Zbgv¥tw_qnZb`Ff`<rU` l qTZ]`<s&cPWqfr¶jUr3Z l juXZb`1s¼`#µPZb` l rtqne! l dT` l ZbU` ajuruw§Z]gvdr l `#Zbj lruX
PÂ/Zbu`&w_df^auqfrUgvdr¨Z]U`_d
l
`<^ °`<ruXj
l
`1X)Z]uqTZ:Zbu`
l
d
l
qn^ ghXaX]qT`ÂqfXasY`_¥urU`<sIghr
!
`#¥trUgªZ]gvdr& U Y ² PjuX<ÂPZ[WPt`,wU`1w3ghrU)ZbU`,
l
dfJdXb`<s«wu`<wf`
l
cPWaZ]U`£w#dYsY`,w#dfrtXjU^a`
l l
dTf`1XNZ]uqTZ
Z]U`£wU`<w`
l
ghX w_d
l]l
`1w§Z<
r¼VP`<w#Zbghdfr}+`,XUdT UdT Zbd:gh^:uev`<^:`<r3ZpXjuww#`
l
Z]gª¥u`1swu`<wf`
l
XjuXbgvrU
"
$#$&%')('*,+-., /-0'21
-3435&'-'''/6,706$3'498:$$;1
-3435&'-'< 0-/'=8>+--'?435
→
$/6,7/64$3'4
→ @
''%;1
-3435&'-'A /-/-AB8
∀
C,$D
///')C,$'FEG',-
→J
K ⊆H
:$3$7)JIK1
L$M
#F$ /-/N1
ghfj l ` 8 r3Zb` l ±qw#`d l w_` l Zbgv¥u`<s l dPdnwu`<wf` l X
w_` l Zbgv¥u`<sXZ]qTZ]ghw£qfruqnehWYX`1X_
O PRQ
+F #)TSSU Q
9V )$!;W #+
² u` k q l wUgvZb`<w#Zbj l `)ghr/ghfj l `ygxX l d l qn^a^agvru«ehqfrUfjtqnf`)gvrusU`_J`_rusY`<r3Z,cujYZ,Zbd^aqff`ZbU`
l `1X`<rZqTZ]gvdr¼^:d l `:w#druw l `#Z]`)+`)ghevejuXb`:qLuq l Zbgxw#juehq l exqnrUjuqn`£ZbdgvehehjuX[Z l qnZb`ZbU`: l gvrtw#ghUev`1Xpdf
dj l qnu l d3qfwz .j l `#µUqn^aUeh`£ l df l qf^:^aghrU:ehqfrUfjuqff`,gxXqnr&gh^:J` l qTZ]gv`,l qff^a`_r3Zdf03q|TqcPW3Zb`
w_dYsY` ZbuqnZdfJ` l qTZ]`<Xdraq,Pgl Z]juqneY^FqwUgvru`gªZ]«qnradfJ` l qnrusaXZ]qwJÂq£X`_ZNdn?evdYw_qfeUTq l ghqfcUeh`<X/qnrts:q
u`<qnadf'q
lbl
q|WYX_ ( l df
l
qn^ghXNq£Xb`<i3jU`<ruw#`pdnJZ
l
gvUeh`<X
(p1,instr, p2)^a`1qnrUghrU,ZbtqTZAw_dfr3Z
l
dfeYuqXbXb`<X
l df^ l
d
l
qn^ JdfghrZ
p1
Zbd
p2
ugveh`£`#µY`<w_jYZbghrU
instr
² U`FghruXZ
l
juw§Z]gvdr®X`_Z)w#dfr3ZqnghruX,dfJ`
l
qTZ]d
l
Xpd
l
XZ]qfw8^aqfrUghUjUexqTZbghdfrtX_Âgvr3Zb`<f`
l q l
gªZ]U^a`#ZbgxwFqnrts
d l/l `1qfsYghrUtÂfX[Z]d l gvru,qfrus:gvrtw l `_^a`_r3ZbghrU£ehdYw_qneYTq l gxqncUeh`<X< VYt`1w#gv¥twghruX[Zl jtw§ZbghdfrtXd l q lbl q|W£^FqnrUghUjY³
exqTZ]gvdruXJ` l ^:gvZNZ]dw l `<qTZ]`fÂdfcYZqnghr)Z]U`pXbg<`dn[ÂfghrusY`_µaqfrus:jU?sUqTZ]`q l]l q|WYX< !² U` udTIdn'w#drZl deUw_qfr
cJ`a^adPsUgª¥u`1s¶jUrtw#dfrtsYgªZ]gvdruqnehehW¨gvZb 6dnZ]d3qnrus¢w#dfrtsYgªZ]gvdruqnehehW¼gªZ]8Z]U`:±qn^agvehW¼dnAgvruXZ l juw#ZbghdfruX
Xgxw#^a;< %Ugxw:w_df^auq l `AZbU` Z]dfa`_eh`_^a`_r3ZXdnJZbU` l jUrY³QZbgh^a`X[Zqfwqnrtsc l qfruwqw_w#d l sUgvrUZbd
Z]U`,dfjYZw#d^:` :ghruqfevehWfÂPZ]U` l `q l `ghruX[Z l jtw§ZbghdfrtX+d l gvruUjYZZ]gvruaqfrus l `_Zbj l rUghrUTqfevjU`1X_ /² U`£XbWPrZqTµ
gxXXbjU^a^aq l gxXb`<sgvrZbu`,dfehevdTghrUZ]qncuev` 8
" 88 /;3! 9)/;<
∗
! 9 88 d ujuX k d ! ju
rU`_ qsUs Xjuc ^jUevZ
(ehdqs (pXZbd l `" ehdqs XZbd l `" gvruw"
`<+q
lbl
q|W (
l]l
q|WPeh`_rUfZb
qnehdqfs
qfXZbd
l `
6dnZ]d /;
Xghw_^a;< %/;
cond∈ {eq,ne,lt,le,gt,ge}
gvruUjYZ Øl `#Z]j l r `_Zbj l r
¡°`«uq|`:eh`#¹ZdjYZZ]U`Fgvr3Z]`
l
³Q
l
dYw#`1sYj
l
qne/qnrus°dcYm[`<w#Z³´d
l
gv`<rZ]`<s¢ehq|W`
l
Xdn+ZbU`FexqnrUjuqn`f «² U`
l
`1X`<rZ+
l
qnf^a`<rZ gxXXj «w_gv`<rZ]evWLf`_ru`
l
qneJd
l
qTZ Z]U`£Xbqf^:`Z]gv^a`,gvehehjuX[Z
l
qnZbghrU:ZbU`,rUdT`_evZbgh`<X+dndfj
l
qfU l dqw«qnrust` ld l^`_µYt` lgh^a`_r3Z]X+dfrw#dYsY`,dfcUZ]qnghrU`1sF l df^¤w#d^aUgvexqTZ]gvdrLdf03q||qXdj l w#`w_dYsY`f
(pr `#µPZb`<ruXghdfr8Zbd&Z]U`adfcYm[`1w§Z³´d l gh`_r3Zb`1s¶exq|Wf` l +dfjUexs¢ct`FsYdrU`F^)juw°ghr8Z]U`«Xbqf^a`: q|W¶qfX£q lbl q|WYX
q l `)Zl `<qnZb`<s8U` l `f 4(w#` l Z]gª¥t`<s8XZ]qnZbgxwqfruqnehWYXgxXpd l dfcYm[`1w§Zb³Qd lgh`_r3Zb`1s®,03q|Tq+q l supcPWZ]`:w_dYsY` qfX
sU`<X]w l gvcJ`<sgvr ~*´
² U`FcPW3Zb`Fw_dPsU`:exqnrufjuqff`:ghX,gv`_r qnr°dfJ` l qTZbghdfrtqne/X`<^Fqnr3Zbgxw_XZbtqTZdfJ` l qTZ]`<XgvZb l df l qn^
XZ]qnZb`1X£dn Zbu`«d l ^
< pp, h, s, l > U` l ` pp ghXq¼ l df l qf^ tdgvr3ZZ]d¶cJ`L`#µY`1w#jYZ]`<s rU`_µ3Z1Â
h ghXq
u`<qn°d l XZbd l ghrU¼qnehevdYw_qnZb`1s°q lbl q|WYX_Â
s gxXqnr®dt` l qfrus X[Zqfw?Âqfrus
l gxX)qnr `<r3PgldrU^a`_r3ZdnehdYw_qne
Tq l gxqncUeh`<X< (pr8q l]l q|WFghXp^:dYsY`<eveh`<s&cPWqFuqngl w_dfruXbghXZbghrUFdfZ]U`)Xbg<`dnZ]U`)q l]l q|W«qnrus¼q:jUrtw§Zbghdfr
Z]uqTZd l qafghf`<rghrusY`_µ l `#Z]j l ruX+ZbU`)|qfevju`X[Z]d l `<sqTZZ]uqTZghrusY`_µ? ( Xbt`1w#gxqnez` lbl d l XZ]qTZ]` l]l d l ghX
jtX`1s«Z]dF^:dYsY`<e'`#µY`<w_jYZbghdfr&` lbld l XughwU` l `q l gxX`l d^¤ghrusY`#µYghrUFqnr¼q l]l q|W:djYZ]XbgxsY`,gªZXctdjUrusUX<
Val = numn|ref ref n∈Z, ref ∈Location Stack = Val∗
LocVar = Var→Val
Array = (length :Z)×([0,length−1]→Val) Heap = Location→Array⊥
State = (Ctrl×Heap×Stack×LocVar) + Error
² U`¼dt` l qnZbghdfruqfeX`<^Fqnr3Zbgxw_XagxX«sY`_¥urU`<s©Pgxq®q8Z l qfruXbgªZ]gvdr l `_exqTZ]gvdr
→ ct`_Z[A`<`_r X[ZqTZ]`<Xaghr¸q XZ]qfrusUq l sL±qfXbUghdfr&qnrusghevezrudnZcJ`£`#µYUexqnghrU`<sgvr¼sY`_Z]qfgveQ ( `_ l jUeh`<X dnZbu`sY`#¥urugªZ]gvdrdf
→ q l `
XbUdTrct`<evdT£ N² U`<W«ghevehjuXZ l qTZb`£sYg?` l `_r3ZqfXbt`1w§Z]X dfZ]U`£cPW3Zb`£w#dYsY`,exqnrUjuqn`&Pgvr&uq l Z]ghw_jUexq l UdT
q lbl q|WactdjUrus&wU`1wPX q l `,J` l d l ^:`1sLu`_r¼qfw<w#`<X]XbgvrUaqnr&q l]l q|Wf