model checking with automata an overviedoyle/wiki/images/e/e3/mcautomata.pdf · 2008-05-21 ·...
TRANSCRIPT
![Page 1: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/1.jpg)
Doyle Group Presentation, 05/02/2008 1VC
Vanessa D. CarsonControl and Dynamical Systems,
Caltech
Model Checking with AutomataAn Overview
![Page 2: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/2.jpg)
Doyle Group Presentation, 05/02/2008 2VC
Contents
• Motivation
• Overview Software Verification Techniques
• Model Checking– System Modeling
– Specification Modeling
– Verification
• Next Lecture
![Page 3: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/3.jpg)
Doyle Group Presentation, 05/02/2008 3VC
Motivation
• Example: Mars Polar Lander 1999– Study Martian weather, climate, water and C02 levels– Last telemetry sent prior to atmospheric entry– Potential software/hardware error
• Logic for engine cutoff that engaged when landerlegs were deployed ~40 m above ground
• Some vibration caused sensors to trip engine cut-off• Input and its effects on state not considered appropriately
Software bugs are hard to find
• Multiple processes running concurrently• sensors, planners, actuators• complexity of process interleavings• reasoning about distributed systems
• Interested in systems that do not halt
Software systems are complex
Assure that system behaves as intended
![Page 4: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/4.jpg)
Doyle Group Presentation, 05/02/2008 4VC
Techniques in Software Verification
Software Testing
Simulation and Testing
• Proving coverage•Rarely possible to check allsoftware interactions
• Tools: Code coverage tools,parsers, random testing
Formal VerificationDeductive Verification
Model Checking
SimulationOr
Implementation
InjectInputs
Observeoutputs
Proof methods
DeductiveVerification
SystemModel
Proof inLogical Calculus
Algorithmic methods
ModelChecking
SystemModel YES/NO
+System
Spec
• Complex systems => large models• DV: Length of proof/expertise• MC: physical limitations
• Tools: Isabelle, HOL, ACL2,PVS(DV), SPIN (MC)
![Page 5: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/5.jpg)
Doyle Group Presentation, 05/02/2008 5VC
Concurrency and Shared Variables
P0 P1
Processor
Determines what process to put into context basedon some scheduling algorithm
Scheduler
P0
P1P0
OS process
Two processes P0 and P1executing on a single core
CPUP0 and P1 are loaded into the
processor and executed one ata time according to a schedule
P0 and P1 may share somememory and may read and
write to it
Memory
P0Var=100
P1Var=50
writeBuf=“xy”OSVar=‘root’
Shared variable between process P0 and P1
![Page 6: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/6.jpg)
Doyle Group Presentation, 05/02/2008 6VC
Concurrency Issues
P1 while True do
getSpacecraftHealthData(healthData);
writeToBuffer( writeBuff, healthData);
writeToFile(writeBuff, healthFile);
clearBuffer(writeBuff);
end while;
P0 while True do
getScienceData(scienceData);
writeToBuffer(writeBuff, scienceData);
writeToFile(writeBuff, scienceFile);
clearBuffer(writeBuff);
end while;
P1 writes spacecraft healthdata to healthFile
P0 writes science data toscienceFile
Science DataOverwritten!
![Page 7: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/7.jpg)
Doyle Group Presentation, 05/02/2008 7VC
Model Checking Process
• Modeling: Convert a design toa formalism accepted by amodel checker.
• Specification: State theproperties that the design mustsatisfy.
• Verification: Verify correctnessof specification with respect tothe model.
System Model
VerificationMODEL CHECKER
YES NO
SpecificationMet
Verification is performed automatically by an exhaustive search ofthe state space of the system.
Specification
CounterexampleFound
![Page 8: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/8.jpg)
Doyle Group Presentation, 05/02/2008 8VC
System Modeling
System Model
VerificationMODEL CHECKER
YES NO
SpecificationMet
Specification
CounterexampleFound
![Page 9: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/9.jpg)
Doyle Group Presentation, 05/02/2008 9VC
Modeling with Finite State Automata
int x = 13;
while (x == 13) { x = x + 2; while (x > 0) { x = x/2; }} x <= 0
s1 s2 s3x = 13 x = x+2
x = x/2
x > 0s0
![Page 10: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/10.jpg)
Doyle Group Presentation, 05/02/2008 10VC
Reasoning about Program Execution
A run of the automaton r = s0 s1 s2s3 s2s3 s2s3 s2s3 s0 13 15 7 3 1 0
x <= 0
s1 s2 s3x = 13 x = x+2
x = x/2
x > 0s0
s1
s0
s0
s2 s3
s3 s2
s2 s3
The automaton A An execution of A
![Page 11: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/11.jpg)
Doyle Group Presentation, 05/02/2008 11VC
Modeling with Büchi Automata
• Most concurrent systems do not to halt during normal execution• Decide on acceptance of ongoing, potentially infinite executions
– OS schedulers, control software• Require Finite State Automata over infinite words
A Büchi automaton is a finite state automaton that accepts infinite runs.
![Page 12: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/12.jpg)
Doyle Group Presentation, 05/02/2008 12VC
Büchi Automaton Language
• Two state Büchi automaton A• Initial and accepting state s0
• Accepts infinite number of symbol a• L(A) ={set of w-words over {a,b}
with infinitely many a’s}• L(A) = {(b*a)w }
b
s1s0
a
a
b
![Page 13: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/13.jpg)
Doyle Group Presentation, 05/02/2008 13VC
Mutual Exclusion
Problem– P0 alters the variable writeBuf
over some execution steps– P1 gets triggered while P0 is in
the process of overwritingvariable writeBuf
– writeBuf is in an inconsistentand unpredictable state
Memory
P0Var=100
P1Var=50
writeBuf=“xy”OSVar=‘root’
P0
P1
Solution– Avoid simultaneous use of a common resource– Divide code into critical sections to protect shared data– Mutual exclusion algorithms exist
–Lamport’s Bakery, Peterson’s, …
![Page 14: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/14.jpg)
Doyle Group Presentation, 05/02/2008 14VC
P1::l1: while True do
NC1: wait(turn = 1);
CR1: turn := 0;
end while;
l’1
Mutual Exclusion Example
P0::l0: while True do
NC0: wait(turn = 0);
CR0: turn := 1;
end while;
l’0
Problem Description
• Two asynchronous processes P0and P1
• P0 and P1 share a variable turn• P0 and P1can not be in their
critical section at the same time• P0 shall eventually enter into its
critical region• Model variables of interest
– Shared variable state– Location of execution with
program counter
![Page 15: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/15.jpg)
Doyle Group Presentation, 05/02/2008 15VC
Program Translation
• Manna, Pnueli (1995) Program translation formula– takes a sequential program and transforms to a first order formula
that represents the set of transitions of the program
The initial states of each process PI are described by the formula
Apply translation procedure C, then for each process Pi
![Page 16: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/16.jpg)
Doyle Group Presentation, 05/02/2008 16VC
Mutex Model
P1::l1: while True do
NC1: wait(turn = 1);
CR1: turn := 0;
end while;
l’1
P0::l0: while True do
NC0: wait(turn = 0);
CR0: turn := 1;
end while;
l’0
P0 has lock P1 has lock
Note: This is a Kripke Model.Kripke => Büchitransformation exists.
![Page 17: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/17.jpg)
Doyle Group Presentation, 05/02/2008 17VC
Mutex Büchi Model
s1
s2
s3
s5
s6
s4
s7
r2
r1
r4r3
r5
r7
r6
s0 r0
P0 has lock P1 has lock
![Page 18: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/18.jpg)
Doyle Group Presentation, 05/02/2008 18VC
Specification
System Model
VerificationMODEL CHECKER
YES NO
SpecificationMet
Specification
CounterexampleFound
![Page 19: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/19.jpg)
Doyle Group Presentation, 05/02/2008 19VC
Modeling Specifications
• Proving essential logical correctness properties independent of– Execution speeds
• relative speeds of of processes, instruction execution time– Probability of occurrence of events
• packet loss, failure of external device• Two types of correctness claims [Lamport 1983, Pnueli 1995]
– Safety set of properties the system may not violate• State properties: Claims about reachable/unreachable states
– System invariant: holds in every reachable state– Process assertion: holds in specific reachable states
– Liveness set of properties the system must satisfy• Path properties: Claims about feasible/unfeasible executions
• Several techniques available– LTL, Propositional Logic, Büchi Automata
Goal: Model desirable properties of a system as correctness claims.
![Page 20: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/20.jpg)
Doyle Group Presentation, 05/02/2008 20VC
LTL Specification
Commonly used LTL formulas
Safety
Liveness
![Page 21: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/21.jpg)
Doyle Group Presentation, 05/02/2008 21VC
P1::l1: while True do
NC1: wait(turn = 1);
CR1: turn := 0;
end while;
l’1
Mutual Exclusion Example
P0::l0: while True do
NC0: wait(turn = 0);
CR0: turn := 1;
end while;
l’0
Problem Description
• Two asynchronous processes P0and P1
• P0 and P1 share a variable turn• P0 and P1can not be in their
critical section at the same time• P0 shall eventually enter into its
critical region• Model variables of interest
– Shared variable state– Location of execution with
program counter
![Page 22: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/22.jpg)
Doyle Group Presentation, 05/02/2008 22VC
Mutex Specification
TRUE
Mutual Exclusion Property
x0 x1
Liveness Property
TRUE
y0 y1
“Both processes can notsimultaneously
be in their critical regions”
“The process P0 will eventuallyenter its critical region”
For every temporal logic formula there exists a Büchi automaton that accepts precisely those runs that satisfy the formula.
![Page 23: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/23.jpg)
Doyle Group Presentation, 05/02/2008 23VC
Properties of Büchi Automata
• Closed under intersection and complementation.– There exists an automaton that accepts exactly the intersection of
the languages of a set of automata– There exists an automaton that recognizes the complement of the
language of the given automaton
• Language emptiness is decidable– Whether the set of accepting runs is empty
The verification problem is equivalent to an emptiness test for anintersection product of Büchi automata.
![Page 24: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/24.jpg)
Doyle Group Presentation, 05/02/2008 24VC
Verification
System Model
VerificationMODEL CHECKER
YES NO
SpecificationMet
Specification
CounterexampleFound
![Page 25: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/25.jpg)
Doyle Group Presentation, 05/02/2008 25VC
Verification Condition
Goal: Verify that all possible behaviors of the model of thesystem A satisfy the specification S.
Possible
executionsInvalid
Executions
Executions that are possible and invalid
If I is empty, then A satisfies S.If I is not empty, then A can violate S,and I contains at least one completecounterexample that proves it.
![Page 26: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/26.jpg)
Doyle Group Presentation, 05/02/2008 26VC
Complementing the Specification
TRUE
y0 y1
TRUE
x0 x1
Taking the negation Taking the complement
LTL Specification Büchi Automata Specification
TRUE
x0 x1
TRUE
y0 y1
![Page 27: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/27.jpg)
Doyle Group Presentation, 05/02/2008 27VC
Union of Complement Specification
TRUE
y0 y1
TRUE
x0 x1
i0
Goal: Construct an automaton that recognizes the unionof languages of both automata.
![Page 28: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/28.jpg)
Doyle Group Presentation, 05/02/2008 28VC
Intersection Of Automata
Goal: Construct an automaton that recognizesthe intersection of languages of bothautomata.
System Model A Complement of Specification, S
TRUE
y0 y1
TRUE
x0 x1
i0
![Page 29: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/29.jpg)
Doyle Group Presentation, 05/02/2008 29VC
Partial Representations ofIntersection Automaton
y1,r2
y0,s4
i0, s0
y0,s1x0, s1
x0, s2
x0, s3 x0, s4
y0,s2
y0,s3
y0,s5
y1,s6
x0, s5
x0, s7
.
.
.
x0, s6
No initial conditions to sub-automaton
x1,s0
x1,s1
x1,s2
x1,s3 x1,s4
.
.
.
.
.
.
![Page 30: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/30.jpg)
Doyle Group Presentation, 05/02/2008 30VC
Mutex Büchi Model/Spec
s1
s2
s3
s5
s6
s4
s7
r2
r1
r4r3
r5
r7
r6
s0 r0TRUE
y0 y1
TRUE
x0 x1
i0
![Page 31: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/31.jpg)
Doyle Group Presentation, 05/02/2008 31VC
Verification of Mutual Exclusion
Checking non-emptiness of Büchi automaton B is equivalent to finding a stronglyconnected component that is reachable from an initial state and contains an
accepting state.
x1,s0
x1,s1
x1,s2
x1,s3 x1,s4
.
.
.
.
.
.
• Any state of the form (x1,sk) is notreachable from any initial state
• The transition to x1 implies bothcritical regions have been enteredsimultaneously
The system satisfies themutual exclusion
property.
![Page 32: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/32.jpg)
Doyle Group Presentation, 05/02/2008 32VC
Partial Representations ofIntersection Automaton
y1,r2
y0,s4
i0, s0
y0,s1x0, s1
x0, s2
x0, s3 x0, s4
y0,s2
y0,s3
y0,s5
y1,s6
x0, s5
x0, s7
.
.
.
x0, s6
No initial conditions to sub-automaton
x1,s0
x1,s1
x1,s2
x1,s3 x1,s4
.
.
.
.
.
.
![Page 33: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/33.jpg)
Doyle Group Presentation, 05/02/2008 33VC
Verification of Liveness Property
The system does not satisfy theabsence of starvation
property.
y0,s4
i0, s0
y0,s1x0, s1
x0, s2
x0, s3 x0, s4
y0,s2
y0,s3
y0,s5
y1,s6
x0, s5
x0, s7
.
.
.
x0, s6
• Tarjan’s DFS algorithm forfinding strongly connectedcomponents
– O(num states + num transitions)– Double DFS
• Found accepting run that has anaccepting state with cycle back toitself
• Counterexample found– <i0,s0><y0,s1><y0,s2><y0,s3>*
![Page 34: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/34.jpg)
Doyle Group Presentation, 05/02/2008 34VC
Note on Automaton Unwinding
i0, s0
y0,s4
y0,s1
y0,s2
y0,s3
y0,s5
y1,s6
.
.
.
.
.
.
i0, s0
y0,s4
y0,s1
y0,s2y0,s3
y0,s5
y1,s6
.
.
.
y0,s3
y0,s3
y0,s3
y0,s5
y0,s5
.
.
.
Computational PathAutomaton
Unwinding operation
![Page 35: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/35.jpg)
Doyle Group Presentation, 05/02/2008 35VC
Next Time
• State space reduction– Abstractions– Partial Order Reduction– Compositional Reasoning– Symbolic Model Checking
![Page 36: Model Checking with Automata An Overviedoyle/wiki/images/e/e3/MCAutomata.pdf · 2008-05-21 · Model Checking with Automata An Overview. Doyle Group Presentation, 05/02 ... a time](https://reader034.vdocument.in/reader034/viewer/2022042305/5ed14ecde957f004214560a4/html5/thumbnails/36.jpg)
Doyle Group Presentation, 05/02/2008 36VC
References
• Clarke, E.M. Model Checking, 1999.• Holzman, G. The SPIN Model Checker, 2003.• Sipser, M., Introduction to the Theory of Computation,
2005.