Title: State-Event Software Verification for Branching-Time Specifications
1State-Event Software Verification for
Branching-Time Specifications
- Sagar Chaki, Ed
Clarke, - Joel Ouaknine, Orna Grumberg
- Natasha Sharygina, Tayssir Touili , Helmut Veith
2Software Model-Checking
- Challenge in computer science
- Tools SLAM, BLAST, MAGIC,
- Counter-Example Guided Abstraction Refinement
(CEGAR)
3CEGAR
Verification
No
Counterexample
Counterexample Valid?
4Limitation of CEGAR applications
LTL formula
Verification
Predicate Abstraction
No branching time properties
Counterexample Valid?
Abstraction Refinement
5Our GoalExtension to branching-time properties
Branching-time formula
LTL formula
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
6First Problem
- CEGAR cannot be applied to general
branching-time logics
7 What are counterexamples?
property f
S
f universal
8CEGAR natural for LTL
- LTL universal logic
- Describes events along a single path
- G(Req? F Ack)
- S f iff all the paths of S f
- (S f) iff exists one path p of S ( p f)
9Branching-time properties are not universal
- Existential operator
- AG(EF Restart)
CEGAR ? Define a universal Branching-time logic
10Our GoalExtension to branching-time properties
Branching-time formula
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
11We need to
- Define an expressive universal branching-time
logic
- Define a model-checking algorithm for this logic
- Define suitable refinement techniques
12State/event universal branching-time logic
- Industrial applications need state/event
reasoning
- Bluetooth when an action a is received in a q
state, the next state has to be p
- Need to a state/event framework
13The state/event universal logic SE-AO
- We view time operators as regular path patterns
on the time line
Ff
Xf
Gf
fU?
14The state/event universal logic SE-AO
15The state/event universal logic SE-AO
K(f,a) f and a hold at all even time points
K(f,a)
Lf no more than 4 time units between 2
occurrences of f
16The state/event universal logic SE-AO
17The state/event universal logic SE-AO
- Labeled Kripke Structure M(S,AP,L,S,T)
18The state/event universal logic SE-AO
- Labeled Kripke Structure M(S,AP,L,S,T)
19We need to
- Define an expressive universal branching-time
logic
- Define a model-checking algorithm for this logic
- Define suitable refinement techniques
20Model-checking algorithm for SE-AO
p,q
b
a
p
b
c
q,r
21Model-checking algorithm for SE-AO
p,q
b
a
p
b
c
q,r
22Model-checking algorithm for SE-AO
p,q
b
a
p
b
c
q,r
23Model-checking algorithm for SE-AO
p,q
b
a
p
b
c
q,r
24Model-checking algorithm for SE-AO
p,q
a
p
b
c
q,r
25Our GoalExtension to branching-time properties
SE-AO
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
26What is a counterexample formally?
27CounterExample generation for SE-AO
Compute a counterexample either for
28CounterExample generation for SE-AO
Compute a counterexample for
Compute a counterexample for
29CounterExample generation for SE-AO
AG p v AF q
q
q
q
q
p
30 CounterExample generation for SE-AO
b
a
31Our GoalExtension to branching-time properties
SE-AO
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
32Our GoalExtension to branching-time properties
SE-AO
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
33Projection
a
c
34Weak simulation
p,q
p,q
a
a
35Compositionality
Theorem
iff
36Our GoalExtension to branching-time properties
SE-AO
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
37Compositional refinement
P1
Spec
P2
P3
P4
Abstraction
Spec
A1
A2
A3
A4
38Compositional refinement
P1
Spec
P2
P3
P4
Abstraction
A1
Spec
A1
A2
A3
A4
Refinement
39Compositional refinement
P1
Spec
P2
P3
P4
A1
A3
Abstraction
Spec
A1
A2
A4
A3
Refinement
40Compositional refinement
P1
Spec
P2
P3
P4
A1
A3
A1
Abstraction
Spec
A1
A2
A4
A3
Refinement
41Compositional refinement
P1
Spec
P2
P3
P4
No more counterexamples ?
A1
Abstraction
A2
A3
A1
Spec
A1
A4
Refinement
A3
A2
42Compositional refinement
P1
Spec
P2
P3
P4
Real counterexamples ?
A1
Abstraction
A2
A3
A1
Spec
A1
A4
A3
A2
Refinement
43 Action-guided Refinement
a
a
a
b
a
a,b
b
a,b
b
b
c
c
Counterexample
Abstraction
44Our GoalExtension to branching-time properties
Branching-time formula
Verification
Predicate Abstraction
Counterexample Valid?
Abstraction Refinement
45Case study IPC
- IPC (InterProcess Communication) Protocol
organize communication in a multithreaded robot
controller
- Protocol has been used for 7 years
- Bug undetected with earlier model-checking
efforts using LTL
46Conclusion
- Definition of an advanced branching-time
state-event logic SE-AO - Model-checking algorithm for SE-AO
- Compositional counterexample validation and
refinement techniques for SE-AO
First application of compositional CEGAR to a
branching-time specifications
Bug discovery in the IPC protocol
47