26

TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� �� � � � �� � � � � � �� � � � � ��

� � � � � �� �� � � �� �

��� � �� � ���� � ��� �! " � # $�% � &� $ '% � � �( �!

) *+ , ! �% �- - � � � $ ' �� .�� / $ � � � % . � � �! �� � $ � � %021 � � . � �� 3 �54 % � � 3! % ! � 6 �87 �� � 1 � 3 � � $ ' � $ 9 % ( :;) & � � 9 � �! � 3 � % < ,= >?@ @ " ,A B ,C D ?E E " ,A B ,C D ?E F " ,= >?E G ">+ ,=H ?E I " J+ KA L & ?E I " � H , K ?E M " � H , K ?E N O $�QP � # � ' �� � 3 7 � '

* � �% % �� #% ! "� # $ � 3 � = � 6 �� � " + $ ' � � �R # � ' �% 3 D � 3 ' � S �( � 3 � �! �% ;TVUWX Y

Page 2: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � � �� � � � �� �� �� � � �� � � � � ��

��� �� � � � � � � � ��

�� �� ��� � ��� � �� � � �� � ��

�� �� � � � ! � �#" � � � �� !� � � $� � � � � � ��% � � � � � �� �'&

(�) !� * � ��+ � � � � * � �� � � $� �� �-, !� � * � !� �, * � $ �� * � !� � , * !� �� ! . �� , / �% �� � /� �% �� , � �� &

0� � $ � / !� ! 1 23 4 ! � �� ! � �� 5 , � 6 � �� � ! � � � / � � � � � �7 �� � &

8 � � !% � �� / �� � � � 9 � / � � � �� � � � 6 � �: �� � �� � 6 � � ! � �� ; � � !� � � � � �� � &

< !� � ! � � 6 �� � �� * �� ! � *� � * �� � � �� + =� �7 >? � @A >B �

� () !� * � �+ C 4ED F GIH 5 � � !� <J < 6 �� � � !&

K �% �� ! � " � � �� L !� / ! � �� * �� ! �NM � � ��� 6 �� � � ! O-,P / � �� L � ! � � � 6" O QR S T > U � @V W � � X �Y B

Z � � �� � �" , � � �� � !� � � !� " � � / � � M� � �� .� � � � � � �� !� � � / , � � � � / � � � � � � � / � ��� "4 � !� / $ !� � !� / � � 6 � $ !� � / �� � �� � 5 & TVUWX [

Page 3: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � �� � � � � � �� � � � � � � �� �

J $ � � !� � ! * *� � !� � �� � � � � 6 � $ !� � � � / � �� � �� .� � �+

adaptationabstraction

state−space exploration

state−space exploration

(Bandera,Blast,JPF,SLAM,...)

(VeriSoft,CMC,...)Systematic testing

Modeling languages Model checking

Programming languages

Z � � �� � ! � �� ! � �� ! 9 � ��� !� � � � � � � � ��� �" * �� ! � �" *� �� � � / !� 6 � � � � $�+

� K �% �� !� � � � � � � � *� � �� !� � , � � �" � �� �� ! � � !� ! 9 � ��� !� � *� � �� !� � � � � � � ! �

P � � � � � ! � �� �R &

� 1 �� !� " �M *� � * �� � � �� O-, � � S O � � * �� �� � � S O&

< � � � � ! � � � � � +

� � �� � � �� � � / � � �M *� � * �� � � �� 4 � � �) � � � �� � � ! � *� � * �� � � �� 5 &

� � � S O / � �� � � � � � * �" !� " � �� � � ! 9 � � �

� Z � � / � � � !� ! �" � � � 9 � � �� � *� �� � � � 6 �� !� �� * !� ! 9 � �� � � � Q

TVUWX �

Page 4: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� �� � � � �� �� � �� ��� � � � �� �� � � � �� � � � �� �� � �

� � � �� � �� � � / � �� � � � ! � / � � � � � � � � � $ � ! � � � �� �, ��� ��� � !� / � .� � $� 4� 5 � 6 �&

(�) !� * � �+ * !� � � ! � �� � * . � � � � � � � � 4� � 2 5� 1 � � � � � � �� , 8� � � M K � � �

� � �� � * . � � ��� � � � � $ � �� �

*� � * � � � � � � � � � !� 9 �

� �, ��� ��� � �� � & p=unknown

p=trues

p=true

(�) !� * � �+ 3 � / ! � J � !� � � � � � � 2 " � � �� � < !� � �� M J � �� � �� � � �

� � <J 2 $� � � �� "! # !� / �$% &! #

��� !� � � � � � � � � � � � � ! �

�$% &! # ' �� ! # &

ba

(�) !� * � �+ �� � * . � 3 � / ! � J � !� � � � � �� 2 " � � �� � ( � � M ) ! � ! / � �� !� M 2� �� � / � *+ �

� � � � 2 $� � � � � ! # !� / � $% &! # ��� !� � � � � � � � � � � � � ! � � $% &! # ' �� ! # &

J � �� � � � / � ��� !� � ! � � �: ! � �" �) *� �� � �% �� K M ) ! � ! / � �� !� *, � &

- � � �� �) !� * � �� + �) � �� / � / � � !� � � � � �� � " � � �� � � 3 � �� �� �+ � , & & & TVUWX .

Page 5: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � �� �� �� � � � � �� � � � �

� � !� �� � � � ! 9 � � , M% ! � � / � � / � �� � �: � � �� , M% ! � � / J <&

��� � �7 @ � � , M% ! � � / � � � * � � � � � � � ! � 3 � / ! � < � ��� O+ + S D � � O � O�� O� � �� O

2 �� !� � �� �+ 4 �) � �� � � � � � 6 � � � �� � � � � ��� �� � , M% ! � � / � < 5

� 4 L� � 5 � S D � S � 4 � D 5

� 4 L� � 5 � S � O � S� �� * 4� 4 L � 5 � S O � 5

$ � �� �� �� * � ! * � � �� # �� ��� �, ��� �� �� # � �, !� / � � # �

� 4 L� � 5 � S O�� O� � S � ��� 4� 4 L� � 5 � S O�� � � 4 L � 5 � S O� � 5

$� � � � � � / � � � � / $� � � �� �� � � � � � � 4 P ��� � �R �� / �� � � � 5

� 4 L� � 5 � S �� O � S��������������������������������� � � 6 � � �+ � �� ! # � � F� 4 L � � 5 � S O � S � �

�� ��� � � 6 � �+ � �$% &! # � � � 4 L � � 5 � S O � S ��� �� �

� � � � �� $� � �

� () + � 4 L � 5 � S D � S � �

� () + � 4 L � 5 � S �� D � S� p=unknown

p=trues

p=true

TVUWX !

Page 6: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

�� �� �� �� �� � � � �� � � � �

J � � � !� � � � � �� � �� � � �� � � � � 6 � � / � ��� 4 ! . !, � � �� � � � � *� � �� / �� , �� � � � � � � � � � � � & 5

< � � 9 � � � � P� � 6 �� � ! � � � � R �� / �� � � � � � ��� � �% ! � �� � � $ � �� � � �� � !� /

� ��� � � � &

� � � Y � > Y � J � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � ! � �� � � � � ! � � �� � ' ��� � � � �

� � ! � � � � ��� � � * �� �� � � � 6 � � � � $� � �+

� �D � �+ ��� 4 � � D 5 �! 4 ��� D 5 ,

� � 6 � � �$% &! # � � �� , � � �� � � � � �� � � �� � � � � � � � ! � ��� �$% &! # � �� !� / � �� � � �� ,

� � 6 ��� �� ! # � �� , � � �� � � � � �� � � �� � �� � � � � � ! � � � �� ! # � � �� !� / � �� � � �� &

4" � � �+ � 6 � � � !� / � � �" �� ! # , � � � � � � � ! � � � � & 5

��� � �7 @ � � p=T

p=

p=F p=T

p=T⊥

s_cs_a

TVUWX #

Page 7: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

�� � � � � � �� � � � � �� � �� � � �� � � � �� � � �� �� �� � � � �� � � � �

= W � > ? � �� < � � � / �� � � � � � � � � � � 6 ! � � 6 �� � � !� � 6 , M% ! � � / *� � * � � � � � � � ! � � � / ! �

� � ��� & J � ��

� � � ��� � � 4 � O � �+ � � � � S O � � �� � S O � 5��

J � � , � � / � �� � � ! � !� � P� �� �� �� * � � � �R $� � � � �� * �� � � � � � !% � � �� � / � � � � � � *� � * M

�� � � �� $� � � � �� * �� � � � &

��� � �7 @ � �

p=T

p=

p=F p=T

p=T⊥

s_cs_a

TVUWX �

Page 8: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � ��� �� � � � � � � � � � � ��� � � �� � � �

��� �� � ��� ���

��� � � �� � � � � � �� � � � !�" # # ! �$ %& #" � !' ( )" # & � ��* $ �* � + � + � �" # % � �" # # � , +.-0/ 1 �� �

23 4 � �65 7 2 8:9<; = 9 >?A@ 4 B@ 7 2 8:C<; = C >? @ 4 B > + �

2 = 9 D = C " � � = C D = 9 >��

E� FHG� I ! = 9 " � � = C " $ � J + + % + #" $LK � � + + %* # +� = 9 D = C " � � = C D = 9KJ & � = 9 D = C " � � = C D = 9 � � � � � � + %* #M = 9 " � � = N " $ � J + + % + #" $ O 7P $ & � ( QR R B

SUT � VW �G� =YX " � � = ZX " $ � � � � J + + % + #" $LK J & � - " � � � � J � � + � + � , & + �� � JM " �M ! �$ %& #"

� !' ( )" # & � � * $ �* � + � + � �" # % � �" # # � , + -0/s0

s1 s3s2

(true, )⊥ ( ,true)⊥( , )⊥⊥ ( , )⊥⊥

s’1 s’3

s’0

s’2

(true,true) (true,true)

(true,true)(true,true)

[Y\] ^ _

Page 9: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� ��� �� � � � � � � � �� � � �

� �� � �G V� Q + )� � " �" � � = � ! " ' ( )" # & � � % � �� # 8 " � � " ! �$ %& #" 4K� � � � - � %* & � � � �� )" # & � 7 2 8; = > ? @ 4 B�

� �G � �G V� 7P $ & � ( Q� � B 1 �� % � �� # ( - �� - � + � ,* $ � J #� % ! �$ " ' ( )" # & � � � � %* �$ " # # � , + -

- " � J � $ � � & - � � � � � � % � �� # ( - �� - � + � ,* $ � J #� % ! �$ � �� - �$ $ � * � � � + � , N ( )" # & � � # � , +.-0/

� 1 �� �5 - � %* #� � � 8 + � � � � � ��� � $ � %� � - � %* #� � � � $ +* �� � $ & - � & $ � K - " # #� � � ��

� W F � V ��� F ��� " � � W G � � � V ��� F � � - � %* #� � + � � 5

� �� � � � � � � Z & - � � �" �K ! �$ � )� $ M ! " � �� $ � �� + � " #! " Z & - � � �" �$ 2 =; ! >@ - � %* 2 $ 2 =; #! > > ! �$ " # # = + � %/� 8'& @ 2 %; $ &; ()* +-,. > + � �$ & 2 =; ! > /10 2@

3546467464689;:< = + ! $ 2 =; ! >@ >$ 2 =; ! > � � �� $ + �

� 8'? @ 2 %; $ ?; (@A ,. > + � �$ ? 2 =; ! > /10 2@

3B4646746468CED F = = + ! $ 2 =; ! >@ >$ 2 =; ! > � � �� $ + �

[Y\] ^ G

Page 10: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� ��� �� � � � � � � � �� � � �� � � �� � �� � � � �

� 1 �� N5 � $ " � ! �$ % 4 � � + � * � + � + )� ! �$ % � 2 4 > + � � � 2� ! >@ #!/

� 1 �� ' 5 � )" # & " � � � 2 4 > � � 8 & " � � 8? & + � , � $ " � + � + � �" # N ( )" # & � � % � �� # - �� - � + � ,K" � � - � % J + �� � �� $ � & # � 57 2 8; = >?A@ 4 B@

3B464646464646746464646464689 :< = + ! 2 8 ?; = >? @ � 2 4 >C D F = = + ! 2 8 &; = > ? @ � 2 4 >> � � �� $ + �

1 � + - " � J � � � �� & + � , �� + � + � , % � �� # ( - �� - � + � , � � � # O

��� �� � ��� ��� ' ( )" # & � � % � �� # - �� - � + � , �" � �� " %� - � %* #�� + � M " � $ " � + � + � �" # N (

)" # & � � % � �� # - �� - � + � ,/

[Y\ ] ^ ��

Page 11: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � �� � ��

� W W � � � � F �� �5

Q � �� $ " � + � � � !" * " $ � +" # � $ +* �� � $ & - � & $ � !$ � % " * " $ � +" # �" � � ( * " - � �� * # �$ " � + � � & - �

� �" �K JM - � � � $ & - � + � �K = ZX D =X 7P $ & � ( QR R B/

SUT � VW �G ��

⊥p=⊥p=⊥p=

s2s1 s3p=true

p=true

p=false p=false

p=true p=false

� 7 = 9 ? @ � 2 9;:< = ! > B@ 9;:< =

� 7 = C ? @ � 2 9;:< = ! > B@ >

� 7 =� ? @ � 2 9;:< = ! > B@ CED F = =

[Y\ ] ^ � �

Page 12: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� �� ��� ��� �� � � � � � � � � ��

� � � G �� � F �� �� � �� - " � " $ , & � � �" � � �� * $ � ) + � & � %" � � + - $ � � & $ � > % �$ � � ! � � �

� �" � + � � � & # �/ / /

SUT � VW �G� I � " �" � � = @ �� $ � !@ > " � ��� @ �� �K

7 = @ ? @ � 2 ! � � ! > B@ >

� + #� � �� " %� ! �$ %& #" + � � � + � � )� $ M - � %* #� � � �" � � =�� & - � � �" � = @ D = � O

EG � ��� � � ��� G �� F �� �� � � �� � G V� � F ��� �� 7P $ & � ( Q� � B

7 2 8; = >? @ 4 B +@354646464644674646446464689;:< = + ! 2 8 Z; = Z >? @ 4 ! �$ " # # 2 8 Z; = Z > 5 = D = ZCED F = = + ! 2 8 Z; = Z > ? @ 4 ! �$ " # # 2 8 Z; = Z > 5 = D = Z> � � �� $ + �

I % � �� # - �� - � + � , % �$ � �� * � � + )� + � � � � + � %" � � +.- �

� � � O I � �� � �K + � ,� �� $ " #K � �� �� � � � � � # )� � �

�G �G � � � ��� G � �� �G �� � �G � � � � � �� � �G V�

[Y\ ] ^ �!

Page 13: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� �� � � � �� � � � � � � � �� � � � �� � � � � �� � �

�G � � � F �� �� Q + )� � " �" � � = � !" % � �� # 8 " � � " ! �$ %& #" 4 � !" � � %* �$ " # # � , +.- $K+ � �� $ � " �" � � = Z � !�" - � %* #� � � M � � % 8 Z & - � � �" � = D = Z " � � 2 8 Z; = Z >? @ 4�

1 � + �G �G � � � ��� G � V� �G �� � �G � � � � W �� � �G V + � ��& " ,� �� $ " # + " � + � � � ! J � � �

� � F ��� � � � � � � F � 2" # # � $ +* �� � $ & - � & $ � " $ � * � � � � � +" # � # & � + � � > " � � V� �G � � �G � � � �

2" + � , #� � $ +* �� � $ & - � & $ � �� � � � � J � - �� - �� � >/

SAT MC

p=false

⊥ p=false

p=true

s1 s2

� �G � �G V� 1 �� " � + �" J + # + �M * $ � J #� % ! �$ " � � %* �$ " # # � , +.- $ + $ � � & - + J #� 2 + � # + �� " $ (� + %� " � � # � ," $ + � � % + - * " - � > � � � �� ,� �� $ " # + � � % � �� # ( - �� - � + � ,* $ � J #� % ! �$ $/

1 � & K Q� + " �" $ � " " � + �" J + # + � M/ I + � �" $ �� $�

[Y\ ] ^ ��

Page 14: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � � � �� �� � � � � � � �� � � � � � � � �

� �G � �G V� 2 1 � > Q + )� � " �" � � =X � !* " $ � +" # � $ +* �� � $ & - � & $ � 8@ 2 %; $; � > " � �

" 1 � ! �$ %& #" 4K � �� - " � - � � � $ & - � " � " # � � $ �" � + � , P �& - � + �$ � " & � � %" � � � ���� �* � �� )� $ " � ( #� � � � $ " #* �" J � � + � � " � % � � � 2? %? N ��� �� > �" � � & - � � �" �

2� 2 8 Z; = ZX > 5 =X D = ZX " � � 2 8 Z; = ZX >?A@ 4 > + � � 2 ���� �* � �> @ ���

��� �� � ��� ��� + ! & - � " 8 Z �� + � K � �� $ � �� + � � �� + � � " � % � �? %? N ��� �� �" � � /

� �G � �G V� 1 �� ,� �� $ " # + � � % � �� # ( - �� - � + � , * $ � J #� % ! �$ " �" � � =X � ! " * " $ � +" #� $ +* �� � $ & - � & $ � 8 @ 2 %; $; � > " � � " 1 � ! �$ %& #" 4 - " � J � �� - + �� � + � � + %�

� 2? %? C N �� � �� >/

� �G � �G V� 1 �� ,� �� $ " # + � � % � �� # ( - �� - � + � ,* $ � J #� % ! �$ 1 � + �� � 1 I� � ( - � %* #� � � /

� �G � �G V� 2 � & % %" $ M > �� � $ �� � � � � * $ �* � + � + � �" # # � , + - K * $ �* � + � + � �" # % � �" # # � , +.- K 1 �K �$ " �M J $ " �- � + � , ( � + %� # � , +.- + �- # & � + � , 1 � 2 & - � " 1 � � �$ � �� % � �" #�� (

- " #- & # & >/ 1 �� ,� �� $ " # + � � % � �� # ( - �� - � + � , * $ � J #� % ! �$ � �� # � , +.- $ �" � �� " %�

- � %* #�� + �M " � �� " � + �" J + # + �M * $ � J #� % ! �$ $/

[Y\ ] ^ ��

Page 15: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� �� � � �� � � � � � �� � � � � � � ��

� �G � �G V� 2 � 1 � > Q + )� � " �" � � =X � ! * " $ � +" # � $ +* �� � $ & - � & $ � 8 @ 2 %; $; � >

" � � " � � 1 � ! �$ %& #" 4K � �� - " � - � � � $ & - � " � " # � � $ �" � + � , P �& - � + �$ � " & � � %" � � �

��� �* � � � )� $ " � ( #� � � � $ " #* �" J � � + � � " � % � � � 2? %? N� �� > �" � � & - � � �" �

2� 2 8 Z; = ZX > 5 =X D = ZX " � � 2 8 Z; = ZX >?A@ 4 > + � � 2 ���� �* � �> @ ���

� �G � �G V� 1 �� ,� �� $ " # + � � % � �� # ( - �� - � + � , * $ � J #� % ! �$ " �" � � =X � ! " * " $ � +" #� $ +* �� � $ & - � & $ � 8 @ 2 %; $; � > " � � " � � 1 � ! �$ %& #" 4 - " � J � �� - + �� � + � � + %�

� 2? %? C N C� �� >/

� �G � �G V� 1 �� ,� �� $ " # + � � % � �� # ( - �� - � + � ,* $ � J #� % ! �$ # + �� " $ ( � + %� � � %* �$ " # # � , + -

+ � � � 1 I� � ( - � %* #� � � /

� �$ � 1 �K ,� �� $ " # + � � % � �� # - �� - � + � , + � � & ��� � �G � � �" � " � + �" J + # + � M " � � % � �� #

- �� - � + � , O 7P $ & � ( Q� � B

2 J � � � � ! � �� � * $ � J #� % " $ � � � � � � ( - � %* #� � � ! �$ � 1 � >

� � � � 5 + % + #" $ * �� � � %� � � � ! �$ �$ � " # + " J + # + � M � " � � � M � � �� + � ! �$ � 1 � * � - + � - " � + � �

7 � J" � + ( �" %* �$ � ( � � #* � $ �R K � � & � # + ( � � �� $ �R B/

[Y\ ] ^ ��

Page 16: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � �� �� � � �� � �� �� �� � � �

��� �G � � �G � � � � 2' ( )" # & � %" � � +.- >

� � - " � J $ � & - � � � � � N ( )" # & � � * $ � J # % /� � �" � � " % - � %* # � + � M " N ( )" # & � � /

�G �G � � � ��� G � ��� �G � � �G � � � � 2� � �$ � & , � ' ( )" #/ %/ >

� � �$ P 1 �K Q� �" � " % - � %* # � + M " " + �" J # + M/� � �$ � 1 �K Q� + �" $ � $ �" � " + �" J # + M " � � � /

� � � � � � � � � � � � �

� � � + � " $ � � ( �� %* # � � ( �� %* # � � � � + � �� � � � � � ( �� �* � � � � � � ( �� �* �

1 � � + � �� �� � 1 I� � ( �� �* � � � � 1 I� � ( �� �* �

� ( - � �- � � � � � � � - ��� � � �� � 1 I� �� �� �* � � � � 1 I� �� �� �* �

� 1 � � � � � �� �� �* � � � � � �� �� �* � � � � 1 I� �� �� �* � [Y\ ] ^ ��

Page 17: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � �� � �� �� � � � � � � � �

��� � � J � � � �5 - � � J �� � � � � � � �� � �.- � � � �? 8? 7P � � � �� Q� � B/

� �G � �G V 7 Q� � � ,� � � � �� N B � - � � � , �� � � � � � � �� � � � � � � � � � - P � �- � � �

� � � � � � � �� � �- � J � 2 � � � � � � � � � � � � �� ,� � � � � �.- �� � - > � Q� �� � � 1 � 2� �

1 � > � � � � � � �� � � � � � JM �� � � � � � � � � �.- P � �- � � � � � 2� �� / � > � � � � � � /

� � EG �� 2 �� � J � � � � > 1� J � � � ,� � � � � � �� � �� � - � - � � � , �� � � � � � �

�� � � � � � � � � �.- P � �- � � � � � � � � � �� � � �� � � � � �� � � - � � � �? �? � � � � � �

- � � 7 � � � �� �� �� � �� B/

� � � � EG �� J � - � �� � � � M �� � Q� � � � � � � � � � �� - � , � � � J � JM �� � � �

� � � � � � � - � �� ��� � �� � � � � � � � � �� � K ��� �K � � � �� � �� � � � � � �� �� � � ��K �� �

�� � � � �� � � � � �� � � � � ! > �

� �G � �G V � Q� � � �� � � � �� N B Q� �� � � � � � � � � � � � � � � � � J �� �"! � � � � �

� � � � � � �? 8? �

E� FHG � � � � � � � � � � � � � � � � � � � � � � � � M � � ! > � � � � � � � � � � � ! > � � � � � �

� �� �# � �� � � � � � � � !� >

[Y\ ] ^ �$

Page 18: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

�� � � �� � �� � �� � � � � � � �� � � �� � � ��

� ��� � � � ! � � � � � � � � �� � � �� � � � �� � � � � ��� � � � � � � � � � � � � �

� � � � � �� � � � � � � � � �� � � � � � � �

��� �� � �� � � � � � � � � � � �� �

� � ��� � � � � � �"! � # � � � � � � � � ! � � � � � � � � � �

� � � � � � � � � � � ! � � � � �# � � � $�% �

� � � � � � � & � � � � � � � � � � � � � � � � � �

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

�0 �0 � � 1 0 2� � �0 � � � � � � � � �� � � �3 � ! � � � � �� � �54 � �

�& � 6 &87 � 9 � �& � ' 6 �&7 ' �.

: � � ;�=< � 4 � � > �?� �A@ B � C D�E 0 � @ � F< G< G �< H� ;� �JI � G� K �< I ,

� : � � �I L (NM O H P O< H ; � � � �Q G O KQ < I �� ��

� �AR ; �S �� � > P< I T P ; Q G O K L T ; UQ T � L � PR ; V

WYXZ [ \]

Page 19: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � � � � � �� � ��� � � � � � �� � � � �� �

�� @ �� �E 0 B�� �� � I U PR K > H< L K K �< L �M � L KR< > G P >< K V

� P HQ TI ; L T �< � � � L T �< H< O H< I< T ;< > � L G P > L K ; H L TI Q ;Q P T I I ;< G��

�� @ 0� E� 0 B� �� � D�E 0 B�� ��

) � �& � 6 &7 � 9 � & � ' 6"! #$ &7 ' �

3 � �( & % % '& ' , (& % 6 &*) +&) % '& , ' � 9 � '& ' 6!- . / & , ' �

0 � P TI ; HR � ;Q P T� �1 �

2 P G OR ;Q T 3 L T 45 6 � R I Q T 3 � ) �87 �3 � � L T �< > P T< L ; ; U< I L G< � P G O R ; L ;Q P T L K � PI ;

� I L G< � P G O K< 9Q ; � LI � P G OR ;Q T 3 L : � P TI< H � L ;Q �< ; L � I ; H L � ;Q P T � I Q GR K L ;Q P T � R I Q T 3 � ) �

L K P T< , �3 � � L T �< �AR Q K ; � >AR L KQ=< Q T 3 L K K ; U< I ;< O I T< �< I I L H ; P � R Q K > � ) � �

5 UQ I Q I I U P4 T > P H O H< >Q � L ;< L T > � L H ;< I Q L T L � I ; H L � ;Q P T Q T �M ? R ; UM @ L 3 L >< < I L T A ) ' �WYXZ [ \B

Page 20: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � � � ��� �� � � � � � � � � � � � � � � �

�� E � B0 B� �E D Q ;< H L ;Q �< L � I ; H L � ;Q P T O H P �< >AR H< ,

) � � � I ; H L � ; , � P G O R ;< � ; U L ; I Q GR K L ;< I � �3 � 2 U< � � , 3Q �< T L R TQ �< HI L K O H P O< H ;�� �� � U< � � � �� � �

� Q > � � � , I ; P O � ; U< O H P O< H ; � Q I O H P �< > , � �� � � �

� Q > � S � � , 3 P ; P 6 ;< O � �

� � F< � T< , H< � T< � 5 U< T 3 P ; P 6 ;< O ) �

��� � O H P �< >R H< > P H LR ; P G L ;Q � L � I ; H L � ;Q P T , � � Q G O H P �< G< T ; I �

) � � � I ; H L � ; , � P G O R ;< � I R � U ; U L ; � 1 � � I L G< � PI ; LI L � P �< � ? @ A ) ' �

3 � 2 U< � � , 3Q �< T ��� O H P O< H ;�� ��

) � � �M � L KR< > G P >< K � U< � �Q T 3 � � P G O R ;< �� � ' �

� Q > � � � ' � ���� � P H � � �! � , I ; P O �

� Q > � � � ' � " � � P T ;Q TR< �3 � � 3< T< H L KQ < < > G P >< K � U< � �Q T 3 � � P G OR ;< �� � '$# �

� Q > � � � '%# � ���� � P H � � �! � , I ; P O �� Q > � � � '%# � " � 3 P ; P 6 ;< O � �

� � F< � T< , H< � T< � 5 U< T 3 P ; P 6 ;< O ) �

WYXZ [ &'

Page 21: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � �� � �

� H< >Q � L ;< L � I ; H L � ;Q P T 4 Q ; U � , :Q I 9 P > > � ; L T > � , :Q I � P > > � ; I R � U ; U L ; 7 1 7 ,

O H P 3 H L G 23 � �

9� � � ) � A�

9� � � 3 � > � 9 � � > � � �

9� � � ) � A�

M2

(p=T,q=F)s2’’

s2’

s2(p=T,q=F)

(p=F,q= )⊥

� P H �7 � � � + � � � � � � � � � 7 � �7 � �� �7 ' � " � �AR ; � 7 � �7 � � �7 ' # � � � �! �

�Q �< � � ; U< H< > P< I T P ;< 9Q I ; L � P T � H< ;Q=< L ;Q P T P > � 7 � �7 � ; U L ; I L ;Q I �< I �7 � �

5 UR I � � 4 2 Q I G P H< O H< �Q I< ; U L T 4 2 Q T ; UQ I � LI< �

� 6 L G< > P H ; U< I L >< ; � O H P O< H ;�� � ,7 � � � + � � � � � � � � �

WYXZ [ & \

Page 22: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � � � � � � � � � � � � � ��� � �

? P4 P > ;< T Q I � 4 2 G P H< O H< �Q I< ; U L T 4 2 � 6< < � M ? R ; U�� : 2 6 A� ' ,

� 6 ; R >QJ< I 4 U< T Q ; Q I O PI I Q � K< ; P H< >R �< � 4 2 � � � � ; P 4 2 � � � , � �

� � , Q I � L K K< > L �� �� � �� � � � �� � � �� � P > � �

� 6 U P4 I ; U L ; � � L K H< L > � � T P4 T � � � 4 � L T >�� M � L K �R KR I L H< � K PI< > R T >< H I< G L T ;Q �

GQ TQ GQ=< L ;Q P T�� � R ; T P ; 5 � 25 P H 25 � �

� : >< T ;Q �< I � � ��� � � � � �� > P H GR K LI � Q �< � � � I > P H4 UQ � U� 4 2 � � � ��� 4 2 � � � �

� I< G L T ;Q � L K K� � R I Q T 3 LR ; P G L ; LM ; U< P H< ;Q � ;< � U TQ�� R< I � �� �5 : 4 �M U L H > Q T �

> P H � M � L K �R KR I � L T >

� I � T ; L � ;Q � L K K� � I R ! �QJ< T ; � HQ ;< HQ P T P T K� � KQ T< L H Q T " # �

� � 9 � I � T ; L � ;Q �# , � T� > P H GR K L ; U L ; > P< I T P ; � P T ; LQ T L T� L ; P GQ � O H P O PI Q ;Q P T Q T

GQ 9< > O P K L HQ ; � �Q T Q ; I T< 3 L ;Q P T T P H G L K > P H G# Q I I< K >M GQ TQ GQ=< Q T 3�

� $ P ;< , ; U< � P T �< HI< Q I T P ; ; HR< �< � 3� � � � �� � �7 # + � � �7 � �� # Q I I< K >M GQ TQ GQ < Q T 3# �

� � P H L T� I< K >M GQ TQ GQ < Q T 3 > P H GR K L� � 4 2 L T > 4 2 U L �< ; U< I L G< O H< �Q I Q P T �

� � P P > T< 4 I , G L T� > H< � R< T ; > P H GR K LI P > O H L � ;Q � L K Q T ;< H< I ; L H< I< K >M GQ TQ GQ < Q T 3�L T > 4 2 Q I LI O H< �Q I< LI � 4 2 > P H ; U PI< �

WYXZ [ & &

Page 23: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � � � � �� � � � � � � � � � � �� �� � ��� � �� � �

� � � � @ �@ 0 � � � I � I ;< GQ T ;< H L � ;Q T 34 Q ; U Q ; I < T �Q H P T G< T ; �

� � � C D� 2�� B � � � � � � � R O >< H G L TM � L H >Q� � � , 3Q �< T L T P O< T I � I ;< G

L T > L > P H GR K L " � > P< I I L ;Q I >� " Q T � � ��� � � � � � �� � � � � � � � �

��� E �� D� � � �< T >Q T 3 G L � UQ T< #

Q I Q ; L K4 L� I O PI I Q � K< > P H ; P< �< T ; R L K K� I< H �< ;< L �

� 4 2 � � �� � � ;< L# � � �! "

� 4 P > 2 � � �� � � ;< L# � #& $ � " V

boil

teacoffee

choose

% � ��� E D B'& � � � � � C D� ( �� B � � � % � � � � A � �*) 3Q �< T + L T > " � > P< I ; U< H<

< 9Q I ; L � P T � H< ;Q < L ;Q P T , P > + I R � U ; U L ; , I L ;Q I �< I " Q T L K K O PI I Q � K< < T �Q H P T G< T ; I �

5 - P I Q GR K L ; L T< PR I 3 L G< I U< H< ) P T< -Q ; U ; U< < T �Q H P T G< T ; � P T< -Q ; U " � L KR< I � � �

.< ; � � 4 P > 2 � L T �< I P K �< > L ; ; U< I L G< � PI ; LI � 4 2 � > P H 5 L T > 05 # � A � � �WYXZ [ &/

Page 24: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � � � � �� � � � � � � � � � � �� � � � � �

6 ; R > � L �=I ; H L � ;Q P TI P > 3 L G< I - U< H< G P �< I P >< L � U O K L�< H � L T T P - �< L � I ; H L � ;< >��

- UQ K< O H< I< H �Q T 3 -Q T TQ T 3 I ; H L ;< 3Q < I P > �� � � O K L�< HI >< � K > L H PM � M @ L 3 L >< < I L T A � �*)

� � T L �=I ; H L � ;Q P T P > L 3 L G< Q I T P - L 3 L G< - U< H< < L � U O K L�< H U LI � P ; U G L� L T >

GR I ; G P �< I � � QJ< K >Q T 3 G L� � GR I � I � H L ��� 3Q � I # �

� 2 P G O K� ��� T� I I O H� P H �� H Q I T P - L T � � � � � � � � �� � � �� �� � � � H� K L �Q P T� K P 3Q � L K K��

� U L H L � ��� HQ=< � � �� � �� � �� � � � � � � � � � �� � � � � �� � �� � KR HM ?� T< Q T 3� HM � R O >� H G L T A� � �

� � > GR I � � H L TI Q �Q P TI L H� L K K P -� � � P � � � � � � � � � � � � �� L HI � TM � Q T 9Q T� A � � � U� T

� U� L �=I � H L � �Q P TQ I LI O H� �Q I � LI � L T � � � Q � � � � � U� > H L G� - P H Q I � � � � � � � � � I � � L KI P

$ L G � PI UQ A � � � L GIM $ L G � PI UQ A � �# )

:� Q �� T L T� Q T � TQ ���M I � L ��� I � I ��� G , L T � O H P O � H ��� " % � M � L K �R KR I � Q > , I L �Q I �� I

" � � U� T � U� H� � 9Q I � I L � TQ ���M I � L ��� L � I � H L � �Q P T + I R � U � U L � + I L �Q I �� I " � ;

� 9 L G O K� ) $ L G � PI UQ A � �

� � L H 9L � �Q P TI �M # 9) � 9M � �7 # 9) � 97 �

� O H P O � H ��� ) � � � �# -Q � U �� � 9 � A#

P = T

++

+−

P = F

� 5 U� � P T � ��� R � �Q P T P >�� � � ��� � � �Q P TQ � T P - � � � � � � � � � � � � >� � � ? R � U � @� 3� �� � �� T A � �# �

WYXZ [ &�

Page 25: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

� � � � � � � � �

� � �� �R � � � � �� � � � T � � � 3 � � � �� T � � � �� � � � � U� � � �� � � � � � � �� � - U � �� � � � � � � � � � ��

� � � � � � � � � � � � � � � �� �� � � � �

� � � � � � � �� � �� � � � � �� �� �� � � � �� � � 3 - �� � �� � � �� � � � 9 � � � � � � � �� � � �< � � � �

� > � � � � ��� � � � � � � �� � �� � � � �� � � ��� �� �� � � � � 3 � � > �� � � �� �

� � �� � � � �� � � � � �� � � �� � � � � � � � � � > � � � � �� � � � � � � ��� � � � � � � > �� � � � � � � � � �� � � � �)

� 2 � � � �� � � � � 3 �� � � � �� � �< � � > � �� > �� � � �� � � �� � � � �� - �� � � � �� �� � � > �� � � �� � � � � � � �� � �

� 2 � � � �� � � � � 3 �� � �� �� �� � � � �# � � �� � �< � � > � �� � � �� � � � �� � � � � � �� �� �� � � � � � � # > �� � � � � � � ��� �� � � � � � � � �� � � � � � � �� � �� >� ��� # �

� � :� � � ��� � � � � � �� � �� � � � ; � � � �� � �� � � � 4 2 � � � ��� � � �� � � �� � � � �� � �< � � > � ��

� � � ��� � � � � � � � � �� � � � � �� � � �� � � �� � �� � � 3� � � � � � � � � � � �� � � � � > � � � � � � ���

� 9� � � � �� � �� �� � 3� � � � � � �� � � � > � �� � � � � ��� � � � � � �

� � � � � � � �� � � �� �� � � � �� �� � � � � > �� � � �� � �� � > �� �� � > � � � � � �< � � � � )

4 2 �� � � �� � �� �� �� � � � � � � � � � � � 4 2 � � > ��� � �� �� �� # �

��� � &�

Page 26: TVU - Patrice Godefroid · (Bandera,Blast,JPF,SLAM,...) (VeriSoft,CMC,...) Systematic testing Modeling languages Model checking Programming languages Z ... K R Q 3 P M U H 5: 4 >

��� � � � ��� � �� � � � �

: ��� � � � � � � � � � � �� � ��� � � � �� � � �� � � � � �� � � � � � � �� � �

� � � � � � ��� � ��� � � � ��� � � ��� � � � � � � �� � ��� � � � � � � - � � � � � � � �� � � � ��� � � � ��� #�� � � ��� � ���

� �� �� � � �� � � � � � � � � � � � � �� � � � � �� � � � �� � �) � � �� � ��� � � � � �� � � � � � � ! � �

� � � � " � � �� �� � � � " � � � ��

� � � � � �� � �� �� � �� � � � � � � " � � � � �� � # �� � � � �� � � � �� " � � � � � � � � � � � � � � � � $ �� %# �

& �� ��� �� � � � � � � � � � � " � ��� � � � � � � � ' � �

� � � � � � �)( & � � � � � �� �� � � � � � �� ���

� � �* � � � � +� � �-, � � � � � � � - � �� � � � � � �� � �� � � � " � � � � � . � � � � � � � � �� � � " � �� � �

� � � � � ��/ � � � �� & � ��� � � �� �� � � � �� �� � � � � � � ' �, 0� � � �� 1 � �

� % � � �� � �� � � � � � �� �� - � � �2 � � � � 3 � � � � � � � � � � � � � � � �� � � � � � � # � �� �� � � * � � � �+ 1 1 � � � � � � � � $� � � � � � � � � � � � � � % 4 �

� �� � �� � � � � � � $ �� � � � �� � � � � � " � � �) � �� � ��� � 5� � � � 0 � � �� � �� � � � �� � � �� � � � �, !� � � �

�� �� � � � � � �� � � � � � �, & $ � � � � � � � , � � � #� � � � � � " � � � �� � � � �� � � � � � � � $ � � � � - ��

� � � ��� � � � �� � �� �� � � � � � � $� �� � " � � 6� � � �87 � � �� , � � � � � �� � � � � ��� � � � � � � � � ��� � � 4

% � �� � � � � ��� � � � � � � � � � � � $ �� � �� $ � � � � � � �� � � � � � �) � �� � � � � � �� � �� � �

��� � 9: