Verifying Safety Properties of Concurrent Java Programs ... - CiteSeer

2 downloads 51 Views 225KB Size Report
Verifying Safety Properties of Concurrent Java Programs. Using 3-Valued Logic. Eran Yahav. School of Computer Science. Tel-Aviv University, Tel-Aviv 69978.
Verifying Safety Properties of Concurrent Java Programs Using 3-Valued Logic Eran Yahav School of Computer Science Tel-Aviv University, Tel-Aviv 69978

[email protected]

    "! #$% & ' () *,+.- %/)0 1 " 2- 34*,56*798': ;4+ -6=?,@ "! #A6 B1 C *,6-?64 1D-?,: 5,E *,+3 *% 9  4*B!F (?B * 9  *9 C 45 ?9-? G9.?,?,6 H64*-O *7-96-6*7: > -BX,*, (1D-OI5 9 B 6EG?,0-69*  6-.64*65* S84 [4+ -6< f$*¸ G  *7V  ƒn"6*,6 C R!Q66*| 5²!#* ¬&fH¶3¦«3„_ 2-L? L45K !Q #]? -0?9 C E (R);M E ?,B )* 2K:  4*z. C ^ 6"-J* _?: -6Þ ×'×'× Ö Æ'Ã'ç>è}à×/Ì Æ:éÄtâ"ãná å å Ï4Ã'Æ7Ø4Ø>ê4Ð'Ð7É ÒÖ7Ä4ÉuÑÛÐ Ã4Ä:Û,Ä Ó'ÌØWÜ'Ú'Ó'Ó ÆÝÃ4ÄVÞ Ð7É ÒÌ7Ä ÏÌ7Ä ÊVßÚ Ä Ú Äsàtá ×'×'× Ð'Ú'Ý Ã7Ñ'ÏWÖ Ò'ÑÊ~É4Ú'Óâã>Þ à×OÆÐ4Ð7É Ò Ö7Äë Ä7Æ Êâãná å å Ï4Ã'Æ7Ø4ØWìÆ7Ñ ÓuÞ Ð'Ú'Ý Ã7Ñ'ÏsØÌ7Æ ÌÑ'Ï>Ö Ò'ÑÊAÛÆ7Ñ:ÓâË Ì'É Ñ Ó7ÅíDîuÆ É4ÅØ ã}Þ ß Ú Ä Ú Ä}à}è>Ó Ä ï²ßÚ Ä Ú Ä&â"ãná ðñ]ò Ç È7É7Ä7Æ Ê>Ð7É'Ê~è>Ó7Ä ïsÇ4È'É7Ä7Æ ÊâDÓ Ä ï²Ù7É Ò Ê ÚÏ Ä4Éâ/à,ã'ãná|ðñIó Ç È7É7Ä7Æ Ê²Ï ÓØ>è>Ó7Ä ïsÇ4È'É7Ä7Æ ÊâDÓ Ä ïuæ7ÒÓØ:ÚÛ,Ä4Éâ/à,ã'ãná|ðñMô ðñMú õ Ò ÉâÑ Ó'ÌVÑ>è}ö&á_Ñ>÷}ø&á_Ñ ù'ùãWÞ Ó Ä ï~Ç È7É7Ä7Æ Êtâ/Ó Ä ï²ê4Ð4Ð7É Ò Ö7Ä ÉâRà,ã'ãn×ØÌ Æ É4Ìâ"ãná ðñIû å Ð'É'ÊרÌ7Æ É'Ìâ"ãGá ðñMü Ï:ÓØ&רÌ7Æ É'Ìâ"ãGá ðñIý å å þFÿ

:ÿ

 

   !"#$&%')(

d = 5 ?, _ErØ N46ÓEÏ 5,È7- É7 Ò*HÓ< Ñ 7Ä Êb#') ! rZq5,-: z; 2E66*7[J51 d =Õ'Æ ?,Ö 3Æt×RÃ'ÆÓ7?Å × -QÝï Õ4Æ7Ä ÑÏ Ì,Ì,ZZ75,ÓÒ-6Ì $Ñ õ F,ZG67*  9 Ó 2*,Ò ÌÑ qõ  'ê Ã'  à (  "6X-t*,6 @4 -* ?: -6< =?,96 *,-O5 K%BÇ4È7É'Ä7Æ Ê;6E2 --[#'6-J *b C ^ B ,E1 6*7 *,+Q?Ü'Ú'Ó'ÓÆ ÝÃ4Ä$ *7% 6q -&:Î ÑHá Ì Æ7Ñ4Ã}è>Î ÑHá å å å Ð'Ú'ÝÃ7Ñ4Ï}ßÚ Ä Ú7Ä ÂÌ7Ä:Û°Ì7Æ éÄtâ"ã}Þ Ø 4ÓÏ È7É7ÒÓÑ 7Ä ÊâRÌ4ÈÑ4Ø ã²Þ ßÚ ÄÚ Ä ÂÌ7Ä6Û°Î Êá Ñ õ â/È Ä7Æ Ê DèWÓ'ÚÃ4Ãã}Þ Ó Ä ï'ë Ä'Æ Ê²è>È Ä7ÆÊ×DÓ Ä4Î4Ìá Î ÊsèWÈ Ä7Æ Êá Î Ê×DÓ7Ä4Î'Ì~è>Ó4ÚÃ'Ã&á È Ä7Æ Ê~èWÓ Ä ï'ë Ä'Æ Êá Ñ õ â/Ó Äï'ë Ä7Æ Ê²è4è>Ó'ÚÃ'à ã>Þ Ì Æ7Ñ Ã}è>Ó'ÚÃ4Ã&á å å å É7Ä4Ì4Ú7É Ó~Î Êá å Ð'Ú'ÝÃ7Ñ4ÏWÖ Ò7ÑÊ~ÆÐ'Ð7É ÒÖ7Ä ë Ä7ÆÊâ"ãsÞ Ø 4ÓÏ È7É7ÒÓÑ 7Ä ÊâRÌ4ÈÑ4Ø ã²Þ Ñ õ â/È Ä7Æ Ê DèWÓ'ÚÃ4Ãã È Ä7Æ Ê×RÆÐ'Ð7É ÒÖ7Ätâ"ãná å å

121

*

ð ò ð nó ð ô ð Gú ð nû ð ü ð ý 3

,+

*

3 3

3 3 3 3

ð ð

34 35

ðò ð ó ð ô ð ú ðû ðü ðý

,+

6

87

*

,+

87

å

6 6 6 6 6

ð

6

6 4

!F?, ?>G"% -- `6 ,5 4*W4*>P75,5,@6E66*7[   'M (:E4+ 26 E3-O55 !F?,4c d    2-0 5,?, [E 5* *,  '6-[6 -Q6*7?-QGx 1D -- EC 5,E(6)9 ;9-O *75)5E2E74:?,© C -O–-O ¤-64< =Q!o >?, 4G" 4*->5-: C )Á?,s E+4 ? ~  X,: –u!# %M C -O@64*X+45 4*-6cWvw y=?I6 C -? > G ñ :ñ v y -\  (X,: `9"?6"#Y (q?K4*X,+451   * -F E(: )966-6*7: C )94*,$ H?,\4*X,+45 4* * '’,‘ …† ‡…‹‘"w%Ž $:Œ wŽw† ‡{†O™ @Ž %‘ 66-* DŽŽ Ž%I’,‘ 6 *, *, :E0 C -O  4*{†O™ lŽ%ŽŽ Œ ‡uŒ Ž2‰ ‡,š‘"‡, ’Œ  "Œ wŽˆQ‘"[’,‘\Ÿ‹‘…†‡G£ Ž%wŽw† ‡W†O™ `† ‡ FŒ‡G£3™6†‹‘ ‘"‹ †R™KŒ‹"Ž% zŒ‡G£ &ò v nyv ò y h v ò 4ó y/k ô v 0h ò ò 'ó nó ky t’,‘"‹‘ v ò yJŽ%L’,‘.™6†‹"šJŠ”Œ\™6† ‹ A‰ Ž ‘"‡Ž‡sÀGŒ'“6”2‘ M‘ ‹Ž%/‘ Ž ™™6† ‹3"† š‘JŒ'…wŽl†‡ V³< xŒ'… ŠŽ‹‘ŒbO’Œ ‹‘£A‹‘""† Š ‹…‘Ið Á¿\Š š9‘I’Œ 9Œ ’ ‹‘Œ4£ ò[Œ4” ‹‘Œ4£ @Œ'… Š Ž%‹‘£’,‘J”†:…½ JÀH’,‘L…† ‡:ˆ&‰ Š ‹Œ wŽl†‡ G JG ò O’† ‡ªŽ%‡ qŽ2‰ Š ‹S ‘ R~…† ‹‹‘"lŸ† ‡£ zD†~Œ>DŒ /‘Ž%‡ t’ Žl…’²"† š‘ ’ ‹‘Œ4£Vw‹ŽD‘£²D†VŒ'… Š Ž%‹‘W’‘W”†:…½Wð_Œ ‡£u“‘…Œ š9‘>“6”†:…½'‘£V† ‡ ’,‘_”†:…½WŒ _ŒA…† ‡6‘ Š,‘"‡G…‘ ©»‡~’ Ž%M…†‡:ˆt‰ Š ‹OŒ wŽl† ‡ @’‘J™6† ‹"ž š[Š”Œ c 6ð Gv ð%y0‘ Œ4” ŠŒ /‘"$D†K6i 24 TP† ‡6ˆt‰ Š ‹Œ wŽw† ‡ G JG ó O’† S’,‘\Œš9‘.‰4”†'“Œ4”DŒ /‘ t’,‘"‡M’,‘$Ž%‡w‹"Š š9‘"‡DŒ wŽl† ‡Ÿ,‹‘£ Žwž …Œ /‘ ð Gv y$Ž%SŠ‘£ 70† † ‡G‘K…Œ ‡_…’‘…½B’,‘K‘  Ž%/‘"‡G…‘ †O™JŒ`“6”†:…½'‘£Y’ ‹‘Œ4£YŠ Ž‡ ‰Y’,‘JD† ‹‘£ Œ4” Š,‘B†O™L’‘JŽ%‡,w‹Šš‘"‡ž DŒ wŽl†‡WŸ,‹‘£ Žl…Œ /‘ 6ð Gv y ’7Žl…’~‘ Œ4” ŠŒ /‘"MD†zi U7L†/‘ ’Œ [‘ Œ4” ŠŒ wŽw† ‡~†O™@’,‘M† ‹Ž2‰ Ž%‡GŒ ”G™6† ‹š[Š”Œ† ‘"‹`’,‘M…† ‡6ˆt‰ Š ‹Œ4ž wŽl† ‡ Ž%’YŽ%‡w‹"Š š9‘"‡DŒ wŽl† ‡Œ4” "†Y‘ Œ4” ŠŒ /‘"3D†i‹Œ ’,‘"‹L’Œ‡;D† i2 6

4.3 Instrumentation

¤¡¥)¦?§©¨'ª0«

_^

p6

0o



0a

_^

–

4

:

–

4

:





¶o

_^

9^

Ç 6

0 k,i"#[n N6’Š









0o

{o

yl.e

 k,i"#[n N6

€»

0o†µ



sl.e

 k,i"#[n N6 qµpo



o









»

¬


: * C ;"N* 6 >A E(1 E:!² ' (X,: 4*@ H+4*,EnG  EG-G6 (X:  2 *`?,q? * - %/)`4G 6-6
Þ Ø 4ÓÏ È7É ÒÓÑ 7Ä4Êâ/Ì4ÈÑ'Ø ã~Þ Ø ÓÏÉ ÒÓÑ 7Ä4ÊâOÒ Ì4È Ä4Éã²Þ Ì7Ä:ÛÐ £ Æ'ÃÚ Ä~è~ÒÌ4È Ä4É×DÖ Æ'ÃÚ Ä&á Ò Ì4È Ä4É×/Ö Æ'ÃÚ7ÄVèWÖ Æ'ÃÚ7Ätá Ö Æ'ÃÚ Ä}è}Ì7Ä:ÛÐ £Æ'ÃÚ Ä&á å å å ,*

Ð4Ú'ÝÃ7Ñ'Ï>Ö7Ò7ÑÊVØ ï ÆÐ æ7ÒÓ'Ì7Ä Ó7ÌØrâßÚ Ä Ú7Ä ÂÌ7Ä:Û©Ò Ì4È Ä É,ã}Þ Ñ õ â`Ì4ÈÑ'Ø&×DÈÆ'Ø È æ7Ò Ê'Ätâ"ã}÷sÒ Ì4È7Ä4É×DÈÆ'Ø È æ7Ò Ê'Ätâ"ã'ã~Þ Ø 4ÓÏ È7É ÒÓÑ 7Ä4Êâ/Ì4ÈÑ'Ø ã²Þ Ø ÓÏÉ ÒÓÑ 7Ä4ÊâOÒ Ì4È Ä4Éã²Þ Ì7Ä:ÛÐ £ Æ'ÃÚ Ä~è~ÒÌ4È Ä4É×DÖ Æ'ÃÚ Ä&á Ò Ì4È Ä4É×/Ö Æ'ÃÚ7ÄVèWÖ Æ'ÃÚ7Ätá Ö Æ'ÃÚ Ä~èWÌ7Ä:ÛÐ £Æ'ÃÚ Ä&á å å å Ä7Ã'Ø ÄVÞ Ø ÓÏ È7É Ò ÓÑ 7Ä4ÊtâÒ Ì4È Ä É,ãVÞ Ø 4ÓÏÉ Ò ÓÑ 7Ä4ÊtâRÌ4ÈÑ'Ø7ã²Þ Ì7Ä:ÛÐ £Æ'ÃÚ Ä²è}Ò Ì4È Ä4É×/Ö Æ'ÃÚ7Ätá Ò Ì4È Ä É×/Ö Æ'Ã Ú Ä²è}Ö Æ'ÃÚ7Ätá Ö Æ'ÃÚ7Ä~è>Ì7Ä:Û Ð £Æ'ÃÚ7Ätá å å å å

,+

,*

,+

,*

,+

,*

,+

,*

þSÿ

tÿ

   $@‚p 

NO

Iÿ

­IJO)"#O?· Lƒ%?#

’ J(

h x³ kJ¥]Ç4ï Ò¥Ò7Ï:éßÚ Ä Ú ÄuÞ Ð7ÉÑÖ ÆÌ7IJßÚ Ä Ú7Ä ÂÌ7Ä:ÛuÈ7Ä7Æ Êá Ð7ÉÑÖ ÆÌ7IJßÚ Ä Ú7Ä ÂÌ7Ä:Û°Ì7Æ7Ñ4Ã&á Ð7ÉÑÖ ÆÌ7Ä ÝÕ4Ä7ÏÌsÈ Ä7Æ 3Ê ¥Ò7Ï:éá Ð7ÉÑÖ ÆÌ7Ä ÝÕ4Ä7ÏÌ~Ì Æ7Ñ46à ¥Ò7Ï:éá ×'×'× Ð'Ú'ÝÃ7Ñ4Ï>Ö Ò7ÑÊ}Ð4Ú7Ìâ Ý Õ4Ä ÏÌ²Ö Æ'Ã Ú Äã>Þ ß Ú Ä Ú Ä Â Ì7Ä:۪ΠÑWèWÓ Ä ï²ßÚ Ä Ú Ä7ÂÌ7Ä:ÛQâ/Ö Æ'ÃÚ Äãná Ø 4ÓÏ È7É7ÒÓÑ 7Ä&âRÌ Æ7Ñ46à ¥Ò7Ï:éGã²Þ Ì Æ7Ñ Ãt×DÓ Ä4Î4ÌuèWÎ ÑHá Ì Æ7Ñ Ã}è}Î ÑHá å å Ð'Ú'ÝÃ7Ñ4Ï ÝÕ4Ä Ï ÌsÌ Æ éÄ&â"ã}Þ Ø 4ÓÏ È7É7ÒÓÑ 7Ä Êâ/È Ä7ÆÊ ¥Ò7Ï:éãuÞ ÝÕ Ä ÏÌ~Î Ê~èWÓ'Ú Ã'Ã&á ßÚ ÄÚ Ä ÂÌ7Ä6Û õ ÑÉØÌ7èÈ Ä7Æ Ê×lÓ Ä4Î'Ìá Ñ õ â õ ÑÉØÌ DèWÓ'ÚÃ4Ãã}Þ Î Êsè õ ÑÉØÌ×/Ö Æ'ÃÚ7Ätá È7Ä7Æ Ê~è õ ÑÉØÌá È7Ä7Æ Ê×/Ö7Æ'ÃÚ Ä²èWÓ4ÚÃ'Ã&á å å É'Ä4Ì4Ú7É4ӲΠÊá å å 121



H-

o

H-

9-



*

APPENDIX A. SOME OF THE ANALYZED JAVA PROGRAMS

,+

M*

,+

-

87

þFÿ

;ÿ

Hÿ

ï#Q? >@

?I)û_%?#

ÿ

 B#CÃD?#F#¶",IJ>IJ?CHL ú¶1p û

:ÿ

'#O?"' O`(

Suggest Documents