Bounded Model Checking for Finite-State Systems
Copenhagen, 2 March 2010 Quantitative Model Checking PhD School
Keijo Heljanko Aalto University
Keijo.Heljanko@tkk.fi
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 1/49
Bounded Model Checking for Finite-State Systems Copenhagen, 2 March - - PowerPoint PPT Presentation
Bounded Model Checking for Finite-State Systems Copenhagen, 2 March 2010 Quantitative Model Checking PhD School Keijo Heljanko Aalto University Keijo.Heljanko@tkk.fi Bounded Model Checking Tutorial, Part II, Keijo Heljanko 1/49 Co-Author
Copenhagen, 2 March 2010 Quantitative Model Checking PhD School
Keijo.Heljanko@tkk.fi
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 1/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 2/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 3/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 4/49
{nc0,nc1,m} {tr0,nc1,m} {cs0,nc1} {tr0,tr1,m} {cs0,tr1} {tr0,cs1} {nc0,tr1,m} {nc0,cs1} L={NC0,NC1} L={TR0,NC1} L={CS0,NC1} L={CS0,TR1} L={TR0,TR1} L={TR0,CS1} L={NC0,CS1} L={NC0,TR1}
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 5/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 6/49
{nc0,nc1,m} {tr0,nc1,m} {cs0,nc1} {tr0,tr1,m} {cs0,tr1} {tr0,cs1} {nc0,tr1,m} {nc0,cs1} L={NC0,NC1} L={TR0,NC1} L={CS0,NC1} L={CS0,TR1} L={TR0,TR1} L={TR0,CS1} L={NC0,CS1} L={NC0,TR1}
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 7/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 8/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 9/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 10/49
i 1 2 3 4 5 T T T T T si L(si) {P} {P}
{Q} {P,Q} {Q}
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 11/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 12/49
{nc0,nc1,m} {tr0,nc1,m} {cs0,nc1} {tr0,tr1,m} {cs0,tr1} {tr0,cs1} {nc0,tr1,m} {nc0,cs1} L={NC0,NC1} L={TR0,NC1} L={CS0,NC1} L={CS0,TR1} L={TR0,TR1} L={TR0,CS1} L={NC0,CS1} L={NC0,TR1}
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 13/49
s0 sl−1
sk sk−1 sk s0
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 14/49
s0 sk {p} {p} {p} {p,q} L(si) {p} ?
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 15/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 16/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 17/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 18/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 19/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 20/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 21/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 22/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 23/49
s0 sl−1
sl
sk sk−1 sk s0
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 24/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 25/49
s0 sl−1
sk sk−1 sk s0
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 26/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 27/49
3 2 1
⊥ ⊥ InLoopi li ⊥ ⊥ ⊥ 4 i ⊥ ⊥ ⊥
nc0 tr0 cs0 nc1 m tr1
si T T T
⊥ ⊤ ⊥ ⊥ ⊤ ⊤ ⊥ ⊥ ⊤ ⊥ ⊥ ⊤ ⊥ ⊥ ⊤ ⊥ ⊥ ⊥ ⊤ ⊤ ⊥ ⊥ ⊤ ⊤ ⊥ ⊥ ⊤ ⊥ cs1
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 28/49
3 2 1 5
⊥ ⊥ InLoopi li ⊥ ⊥ ⊥ 4 i
nc0 tr0 cs0 nc1 m tr1
si T T T
⊥ ⊤ ⊥ ⊥ ⊤ ⊤ ⊥ ⊥ ⊥ ⊤ ⊥ ⊥ ⊤ ⊥ ⊥ ⊤ ⊤ ⊥ ⊥ ⊤ ⊥
T
⊥ ⊤ ⊥ ⊥ ⊤ ⊥ ⊤ ⊥ ⊤ ⊥ ⊥ ⊤ ⊥ ⊤
⊤ ⊤ ⊤ ⊤ ⊥ T
cs1
=
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 29/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 30/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 32/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 34/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 35/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 36/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 37/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 38/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 39/49
NuSMV 2.2.3 New incremental New non-inc. problem t/f k time t/f k time t/f k time VMCAI2005/abp4 f 16 70 f 16 56 f 16 55 VMCAI2005/brp 28 1771 166 VMCAI2005/dme4 23 56 51 VMCAI2005/pci 15 f 18 2388 17 VMCAI2005/srg5 12 736 210
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 40/49
NuSMV 2.2.3 New incremental. New non-inc. problem t/f k time t/f k time t/f k time IBM/IBM_FV_2002_01 f 14 90 f 14 44 f 14 87 IBM/IBM_FV_2002_03 f 32 134 f 32 32 f 32 200 IBM/IBM_FV_2002_04 f 24 38 f 24 12 f 24 90 IBM/IBM_FV_2002_05 f 31 258 f 31 17 f 31 251 IBM/IBM_FV_2002_06 f 31 573 f 31 77 f 31 723 IBM/IBM_FV_2002_09 232 787 81 IBM/IBM_FV_2002_15 f 9 38 f 9 3 f 9 4 IBM/IBM_FV_2002_18 26 f 29 2362 26 IBM/IBM_FV_2002_19 f 29 3057 f 29 86 28 IBM/IBM_FV_2002_20 27 35 26 IBM/IBM_FV_2002_21 f 29 2276 f 29 144 f 29 2741 IBM/IBM_FV_2002_22 25 49 25 IBM/IBM_FV_2002_23 25 31 24 IBM/IBM_FV_2002_27 f 25 298 f 25 15 f 25 322 IBM/IBM_FV_2002_28 f 14 1046 f 14 245 f 14 1023 IBM/IBM_FV_2002_29 14 17 14
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 41/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 42/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 43/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 44/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 45/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 46/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 47/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved CONV
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved CONV 4xCONV
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved CONV 4xCONV MULTICONV-SIMPLE
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved CONV 4xCONV MULTICONV-SIMPLE MULTICONV-FULL
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved MULTICONV-FULL
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved MULTICONV-FULL MULTICONV-ADAPTIVE
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
600 1200 1800 2400 3000 3600 50 55 60 65 70 75 80 85 90 95 100 Time (s) Instances solved MULTICONV-FULL MULTICONV-ADAPTIVE MULTICONV-TARMO MULTIBOUND-TARMO
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 48/49
Bounded Model Checking Tutorial, Part II, Keijo Heljanko – 49/49