turing award lecture
TRANSCRIPT
-
8/8/2019 Turing Award Lecture
1/57
Model CheckingModel Checking
My 27 year quest to overcome theMy 27 year quest to overcome thestate explosion problemstate explosion problem
Edmund ClarkeEdmund Clarke
Computer Science DepartmentComputer Science Department
Carnegie Mellon UniversityCarnegie Mellon University
-
8/8/2019 Turing Award Lecture
2/57
Intel Pentium FDIV BugIntel Pentium FDIV Bug
Try 4195835 4195835 / 3145727 * 3145727.Try 4195835 4195835 / 3145727 * 3145727. In 94 Pentium, it doesnt return 0, but 256.In 94 Pentium, it doesnt return 0, but 256.
Intel uses the SRT algorithm for floating point division.Intel uses the SRT algorithm for floating point division.
Five entries in the lookup table are missing.Five entries in the lookup table are missing. Cost: $500 millionCost: $500 million
Xudong Zhaos Thesis on Word Level Model CheckingXudong Zhaos Thesis on Word Level Model Checking
-
8/8/2019 Turing Award Lecture
3/57
Recent Rumor: New AMD TLBRecent Rumor: New AMD TLBBug??Bug??
AMD Family 10h revision B2 processors suffer from an issue in theAMD Family 10h revision B2 processors suffer from an issue in theprocessor TLBprocessor TLB ((TranslationTranslation LLookasideookaside BBufferuffer).).
Launch date of these pLaunch date of these processorsrocessors was delayed in September, 2007.was delayed in September, 2007.
AMD doesnt have official announcement yet, but you can google AMDAMD doesnt have official announcement yet, but you can google AMDBBarcelona bugarcelona bug for plenty of discussion. for plenty of discussion.
-
8/8/2019 Turing Award Lecture
4/57
Temporal Logic ModelTemporal Logic ModelCheckingChecking
Model checking is anModel checking is an automatic verification techniqueautomatic verification techniquefor finite state concurrent systems.for finite state concurrent systems.
Developed independently byDeveloped independently by Clarke and EmersonClarke and Emerson andandbyby Queille and SifakisQueille and Sifakisin early 1980s.in early 1980s.
SpecificationsSpecifications are written inare written in propositional temporalpropositional temporallogiclogic..
Verification procedure is anVerification procedure is an exhaustive search of theexhaustive search of thestate spacestate space of the design.of the design.
-
8/8/2019 Turing Award Lecture
5/57
Advantages of ModelAdvantages of ModelCheckingChecking
No proofs!!!No proofs!!!
Fast (compared to other rigorous methods such asFast (compared to other rigorous methods such astheorem proving)theorem proving)
Diagnostic counterexamplesDiagnostic counterexamples
No problem with partial specificationsNo problem with partial specifications
Logics can easily express many concurrency propertiesLogics can easily express many concurrency properties
-
8/8/2019 Turing Award Lecture
6/57
-
8/8/2019 Turing Award Lecture
7/57
Main Disadvantage Contd.Main Disadvantage Contd.
1
2
3
a
b
c
|| n states,m threads
1,a
2,a 1,b
2,b3,a 1,c
3,b 2,c
3,c
nm states
-
8/8/2019 Turing Award Lecture
8/57
Main Disadvantage Contd.Main Disadvantage Contd.
State Explosion ProblemState Explosion Problem::
navoidable in worst case, but steady progress over the past 27
ars using clever algorithms, data structures, and engineering
-
8/8/2019 Turing Award Lecture
9/57
Determines Patterns on Infinite TracesDetermines Patterns on Infinite Traces
Atomic PropositionsAtomic Propositions
Boolean OperationsBoolean Operations
Temporal operatorsTemporal operators
aa a is true nowa is true now
X aX a a is true in the nea is true in the neXXt statet stateFaFa a will be true in thea will be true in the FFutureutureGaGa a will bea will be GGlobally true in the futurelobally true in the futurea U ba U b a will hold truea will hold true UUntil b becomes truentil b becomes true
LTL - Linear Time LogicLTL - Linear Time Logic
a
-
8/8/2019 Turing Award Lecture
10/57
Determines Patterns on Infinite TracesDetermines Patterns on Infinite Traces
Atomic PropositionsAtomic Propositions
Boolean OperationsBoolean Operations
Temporal operatorsTemporal operators
aa a is true nowa is true now
X aX a a is true in the neXt statea is true in the neXt stateFaFa a will be true in thea will be true in the FFutureutureGaGa a will bea will be GGlobally true in the futurelobally true in the futurea U ba U b a will hold truea will hold true UUntil b becomes truentil b becomes true
LTL - Linear Time LogicLTL - Linear Time Logic
a
-
8/8/2019 Turing Award Lecture
11/57
Determines Patterns on Infinite TracesDetermines Patterns on Infinite Traces
Atomic PropositionsAtomic Propositions
Boolean OperationsBoolean Operations
Temporal operatorsTemporal operators
aa a is true nowa is true now
X aX a a is true in the nea is true in the neXXt statet stateFaFa a will be true in the Futurea will be true in the FutureGaGa a will bea will be GGlobally true in the futurelobally true in the futurea U ba U b a will hold truea will hold true UUntil b becomes truentil b becomes true
LTL - Linear Time LogicLTL - Linear Time Logic
a
-
8/8/2019 Turing Award Lecture
12/57
Determines Patterns on Infinite TracesDetermines Patterns on Infinite Traces
Atomic PropositionsAtomic Propositions
Boolean OperationsBoolean Operations
Temporal operatorsTemporal operators
aa a is true nowa is true now
X aX a a is true in the nea is true in the neXXt statet stateFaFa a will be true in thea will be true in the FFutureutureGaGa a will be Globally true in the futurea will be Globally true in the futurea U ba U b a will hold truea will hold true UUntil b becomes truentil b becomes true
LTL - Linear Time LogicLTL - Linear Time Logic
a a a a a
-
8/8/2019 Turing Award Lecture
13/57
Determines Patterns on Infinite TracesDetermines Patterns on Infinite Traces
Atomic PropositionsAtomic Propositions
Boolean OperationsBoolean Operations
Temporal operatorsTemporal operators
aa a is true nowa is true now
X aX a a is true in the nea is true in the neXXt statet stateFaFa a will be true in thea will be true in the FFutureutureGaGa a will bea will be GGlobally true in the futurelobally true in the futurea U ba U b a will hold true Until b becomes truea will hold true Until b becomes true
LTL - Linear Time LogicLTL - Linear Time Logic
a a a a b
-
8/8/2019 Turing Award Lecture
14/57
Branching TimeBranching Time
-
8/8/2019 Turing Award Lecture
15/57
CTL: Computation Tree LogicCTL: Computation Tree Logic
EFg g will possibly become true
-
8/8/2019 Turing Award Lecture
16/57
CTL: Computation Tree LogicCTL: Computation Tree Logic
AFg g will necessarily become true
-
8/8/2019 Turing Award Lecture
17/57
CTL: Computation Tree LogicCTL: Computation Tree Logic
AGg g is an invariant
-
8/8/2019 Turing Award Lecture
18/57
CTL: Computation Tree LogicCTL: Computation Tree Logic
EGg g is a potential invariant
-
8/8/2019 Turing Award Lecture
19/57
CTL: Computation Tree LogicCTL: Computation Tree Logic
CTL uses the temporal operatorsCTL uses the temporal operators
AX, AG, AF, AUAX, AG, AF, AU
EX, EG, EF, EUEX, EG, EF, EU
CTL*CTL* allows complex nestings such asallows complex nestings such as
AXX, AGX, EXF, ...AXX, AGX, EXF, ...
CTL: linear model checking algorithm !CTL: linear model checking algorithm !
-
8/8/2019 Turing Award Lecture
20/57
Model Checking ProblemModel Checking Problem
LetLet MMbe abe a state-transition graphstate-transition graph..
LetLet be thebe the specificationspecification in temporal logic.in temporal logic.
Find all statesFind all states ss ofofMMsuch thatsuch that M, s |= M, s |= ..
CTL Model Checking: CE 81; CES 83/86; QS 81/82.CTL Model Checking: CE 81; CES 83/86; QS 81/82. LTL Model Checking: LP 85.LTL Model Checking: LP 85. Automata Theoretic LTL Model Checking: VW 86.Automata Theoretic LTL Model Checking: VW 86. CTL* Model Checking: EL 85.CTL* Model Checking: EL 85.
CTL Model Checking: CE 81; CES 83/86; QS 81/82.CTL Model Checking: CE 81; CES 83/86; QS 81/82. LTL Model Checking: LP 85.LTL Model Checking: LP 85. Automata Theoretic LTL Model Checking: VW 86.Automata Theoretic LTL Model Checking: VW 86. CTL* Model Checking: EL 85.CTL* Model Checking: EL 85.
-
8/8/2019 Turing Award Lecture
21/57
State-transition graphdescribes system evolvingover time.
Model of computationModel of computation
~ Start
~ Close
~ Heat
~ Error
Start
~ Close
~ Heat
Error
~ Start
Close
~ Heat
~ Error
~ Start
Close
Heat
~ Error
Start
Close
Heat
~ Error
Start
Close
~ Heat
~ Error
Start
Close
~ Heat
Error
Microwave Oven Example
-
8/8/2019 Turing Award Lecture
22/57
Temporal Logic and ModelTemporal Logic and ModelCheckingChecking
The oven doesntThe oven doesnt heat upheat up until theuntil the door is closeddoor is closed..
NotNotheat_upheat_up holdsholds untiluntildoor_closeddoor_closed
((~~heat_upheat_up))UUdoor_closeddoor_closed
-
8/8/2019 Turing Award Lecture
23/57
Transition System(Automaton, Kripke structure)
Hardware Description(VERILOG, VHDL, SMV)
InformalSpecification
Temporal Logic Formula(CTL, LTL, etc.)
compilation
manualalgorithmic
verification
Model CheckingModel Checking
-
8/8/2019 Turing Award Lecture
24/57
Hardware Example: IEEEHardware Example: IEEEFuturebusFuturebus++
In 1992 we used Model Checking to verify theIn 1992 we used Model Checking to verify the IEEEIEEEFuture+ cache coherence protocolFuture+ cache coherence protocol..
Found a number ofFound a number ofpreviously undetected errorspreviously undetected errors in thein thedesign.design.
First time that formal methods were used to findFirst time that formal methods were used to finderrors in anerrors in an IEEE standardIEEE standard..
Development of the protocol began inDevelopment of the protocol began in 19881988, but, butprevious attempts to validate it were informal.previous attempts to validate it were informal.
-
8/8/2019 Turing Award Lecture
25/57
Symbolic Model CheckingSymbolic Model Checking
Burch, Clarke, McMillan, Dill, and Hwang 90;Burch, Clarke, McMillan, Dill, and Hwang 90;
Ken McMillans thesis 92Ken McMillans thesis 92
The Partial Order ReductionThe Partial Order Reduction
Valmari 90Valmari 90
Godefroid 90Godefroid 90
Peled 94Peled 94
Four Big Breakthroughs onFour Big Breakthroughs onState Space Explosion Problem!State Space Explosion Problem!
-
8/8/2019 Turing Award Lecture
26/57
Four Big Breakthroughs on StateFour Big Breakthroughs on StateSpace Explosion Problem (Cont.)Space Explosion Problem (Cont.)
BoundedBoundedModel CheckingModel Checking
Biere, Cimatti, Clarke, Zhu 99Biere, Cimatti, Clarke, Zhu 99
Using Fast SAT solversUsing Fast SAT solvers
Can handle thousandsCan handle thousands
of state elementsof state elements
Can the given property fail in k-steps?
I(V0) T(V0,V1) T(Vk-1 ,Vk) (: P(V0) :
P(Vk))
Can the given property fail in k-steps?
I(V0) T(V0,V1) T(Vk-1 ,Vk) (: P(V0) :
P(Vk)) k-steps Property failsin some stepInitial state
BMC in practice: Circuit with 9510 latches, 9499 inputsBMC formula has 4 106 variables, 1.2 107 clausesShortest bug oflength 37 found in 69 seconds
Four Big Breakthroughs onFour Big Breakthroughs on
-
8/8/2019 Turing Award Lecture
27/57
Four Big Breakthroughs onFour Big Breakthroughs onState Space Explosion ProblemState Space Explosion Problem(Cont.)(Cont.)
Localization ReductionLocalization Reduction Bob Kurshan 1994Bob Kurshan 1994
Counterexample Guided Abstraction Refinement (CEGAR)Counterexample Guided Abstraction Refinement (CEGAR) Clarke, Grumberg, Jha, Lu, Veith 2000Clarke, Grumberg, Jha, Lu, Veith 2000
Used in most software model checkersUsed in most software model checkers
-
8/8/2019 Turing Award Lecture
28/57
From Hardware to Software:From Hardware to Software:
Natural Question: Is it possible to model checkNatural Question: Is it possible to model checksoftware?software?
According toAccording to Wired NewsWired News on Nov 10, 2005:on Nov 10, 2005:
When Bill Gates announced that the technologyWhen Bill Gates announced that the technologywas under development at the 2002 Windowswas under development at the 2002 WindowsEngineering Conference, he called it the holyEngineering Conference, he called it the holygrail of computer sciencegrail of computer science
-
8/8/2019 Turing Award Lecture
29/57
Grand Challenge:Grand Challenge:Model Check Software !Model Check Software !
What makesSoftware Model CheckingSoftware Model Checking
different ?
-
8/8/2019 Turing Award Lecture
30/57
What Makes Software ModelWhat Makes Software ModelChecking Different ?Checking Different ?
Large/unbounded base types:Large/unbounded base types: int, float, stringint, float, string
User-defined types/classesUser-defined types/classes
Pointers/aliasing + unbounded #s of heap-allocated cellsPointers/aliasing + unbounded #s of heap-allocated cells Procedure calls/recursion/calls through pointers/dynamic methodProcedure calls/recursion/calls through pointers/dynamic method
lookup/overloadinglookup/overloading
Concurrency + unbounded #s of threadsConcurrency + unbounded #s of threads
-
8/8/2019 Turing Award Lecture
31/57
What Makes Software ModelWhat Makes Software ModelChecking Different ?Checking Different ?
Templates/generics/include filesTemplates/generics/include files
Interrupts/exceptions/callbacksInterrupts/exceptions/callbacks
Use of secondary storage: files, databasesUse of secondary storage: files, databases Absent source code for: libraries, system calls, mobile codeAbsent source code for: libraries, system calls, mobile code
Esoteric features: continuations, self-modifying codeEsoteric features: continuations, self-modifying code
Size (e.g., MS Word = 1.4 MLOC)Size (e.g., MS Word = 1.4 MLOC)
-
8/8/2019 Turing Award Lecture
32/57
What Does It Mean to Model CheckWhat Does It Mean to Model CheckSoftware?Software?
1.1. Combine static analysis and model checkingCombine static analysis and model checking UseUse static analysisstatic analysisto extract ato extract a model Kmodel Kfrom a booleanfrom a boolean
abstraction of the program.abstraction of the program.
Then check that f is true in K (KThen check that f is true in K (K f), where f is thef), where f is thespecification of the program.specification of the program.
SLAM (Microsoft)SLAM (Microsoft) Bandera (Kansas State)Bandera (Kansas State) MAGIC, SATABS (CMU)MAGIC, SATABS (CMU) BLAST (Berkeley)BLAST (Berkeley) F-Soft (NEC)F-Soft (NEC)
-
8/8/2019 Turing Award Lecture
33/57
What Does It Mean to Model CheckWhat Does It Mean to Model CheckSoftware?Software?
2.2. Simulate program along all paths inSimulate program along all paths incomputation treecomputation tree
Java PathFinder (NASA Ames)Java PathFinder (NASA Ames)
Source code + backtracking (e.g., Verisoft)Source code + backtracking (e.g., Verisoft)Source code + symbolic execution + backtrackingSource code + symbolic execution + backtracking
(e.g., MS/Intrinsa Prefix)(e.g., MS/Intrinsa Prefix)
3.3. Use finite-state machine to look for patternsUse finite-state machine to look for patterns
in control-flow graphin control-flow graph [Engler][Engler]
-
8/8/2019 Turing Award Lecture
34/57
What Does It Mean to Model CheckWhat Does It Mean to Model CheckSoftware?Software?
4.4. Design with Finite-State Software ModelsDesign with Finite-State Software ModelsFinite state software models can act as missing linkFinite state software models can act as missing link
between transition graphs and complex software.between transition graphs and complex software.
StatechartsStatechartsEsterelEsterel
-
8/8/2019 Turing Award Lecture
35/57
What Does It Mean to Model CheckWhat Does It Mean to Model CheckSoftware?Software?
5.5. Use Bounded Model Checking and SATUse Bounded Model Checking and SAT [Kroening][Kroening]
Problem: How to compute set of reachable states?Problem: How to compute set of reachable states?
Fixpoint computation is too expensive.Fixpoint computation is too expensive.
Restrict search to states that are reachable from initialRestrict search to states that are reachable from initial
state withinstate within fixed numberfixed numbern of transitionsn of transitions
Implemented byImplemented by unwindingunwinding program and usingprogram and using
SAT solverSAT solver
-
8/8/2019 Turing Award Lecture
36/57
Key techniques for Software ModelKey techniques for Software ModelCheckingChecking
Counterexample Guided Abstraction RefinementCounterexample Guided Abstraction Refinement
- Kurshan, Yuan Lu, Clarke et al JACM, Ball et al- Kurshan, Yuan Lu, Clarke et al JACM, Ball et al
- Uses- Uses counterexamplescounterexamples to refine abstractionto refine abstraction
Predicate AbstractionPredicate Abstraction
- Graf and Saidi, Ball et al, Chaki et al, Kroening- Graf and Saidi, Ball et al, Chaki et al, Kroening
- Keeps track of- Keeps track ofcertain predicates on datacertain predicates on data
-- Captures relationship between variablesCaptures relationship between variables
-
8/8/2019 Turing Award Lecture
37/57
Transition System
InformalSpecification
Temporal Logic Formula(CTL, LTL, etc.)
Safety Property:bad state unreachable:
satisfied
Initial State
CounterexamplesCounterexamples
Program
-
8/8/2019 Turing Award Lecture
38/57
Transition System
ProgramInformalSpecification
Temporal Logic Formula(CTL, LTL, etc.)
Initial State
Safety Property:bad state unreachable
Counterexample
CounterexamplesCounterexamples
-
8/8/2019 Turing Award Lecture
39/57
Transition System
ProgramInformalSpecification
Temporal Logic Formula(CTL, LTL, etc.)
Initial State
Safety Property:bad state unreachable
CounterexamplesCounterexamples
Counterexample
-
8/8/2019 Turing Award Lecture
40/57
Existential AbstractionExistential Abstraction
M
M
Given an abstraction function : S S
, the concrete
states are grouped and mapped into abstract states :
Preservation Theorem ?
-
8/8/2019 Turing Award Lecture
41/57
Preservation TheoremPreservation Theorem
Theorem (Clarke, Grumberg, Long)Theorem (Clarke, Grumberg, Long)If property holds onIf property holds onabstract modelabstract model, it holds on, it holds on concrete modelconcrete model
Technical conditionsTechnical conditions Property is universal i.e., no existential quantifiersProperty is universal i.e., no existential quantifiers Atomic formulas respect abstraction mappingAtomic formulas respect abstraction mapping
Converse implication is not valid !Converse implication is not valid !
-
8/8/2019 Turing Award Lecture
42/57
Spurious BehaviorSpurious Behavior
AGAF redEvery path necessarily leadsback to red.
Spurious Counterexample: ...
red
go
Artifact of the abstraction !
H t d fi Ab t tiHo to define Abstraction
-
8/8/2019 Turing Award Lecture
43/57
How to define AbstractionHow to define AbstractionFunctions?Functions?
Abstraction too fineAbstraction too fine State ExplosionState Explosion
Abstraction too coarseAbstraction too coarse Information LossInformation Loss
AutomaticAutomatic Abstraction MethodologyAbstraction Methodology
-
8/8/2019 Turing Award Lecture
44/57
Automatic AbstractionAutomatic Abstraction
MOriginal Model
Refinement
Refinement
M Initial AbstractionSpurious
Spurious
counterexample
Validation or
Counterexample Correct !
CEGARCEGAR
-
8/8/2019 Turing Award Lecture
45/57
CEGARCEGARCCounterounterEExample-xample-GGuideduided AAbstractionbstractionRRefinementefinement
C
Program
C
Program
InitialInitial
AbstractionAbstraction
Simulator
No errorNo error
or bug foundor bug found
PropertyPropertyholdsholds
SimulationSimulationsucessfulsucessful
Bug foundBug found
Abstraction refinementAbstraction refinement Refinement
Model
Checker
VerificationVerification
Spurious counterexampleSpurious counterexample
CounterexampleCounterexample
AbstractModel
S ft E l D i D iS ft E l D i D i
-
8/8/2019 Turing Award Lecture
46/57
Software Example: Device DriverSoftware Example: Device DriverCodeCode
Also according toAlso according to Wired NewsWired News::
Microsoft has developed a tool called Static DeviceMicrosoft has developed a tool called Static DeviceVerifier or SDV, that uses Verifier or SDV, that uses Model CheckingModel Checking to toanalyze the source code for Windows drivers andanalyze the source code for Windows drivers andsee if the code that the programmer wrote matches asee if the code that the programmer wrote matches amathematical model of what a Windows device drivermathematical model of what a Windows device driver
should do. If the driver doesnt match the model, theshould do. If the driver doesnt match the model, theSDV warns that the driver might contain a bug.SDV warns that the driver might contain a bug.
-
8/8/2019 Turing Award Lecture
47/57
Back to Hardware!Back to Hardware!
Ease of design
increases
Gate level (netlists)
Register Level
System
Behavioral
Formal verification
support
Gate Level (netlist):
-
8/8/2019 Turing Award Lecture
48/57
Register Level Verilog:
module counter_cell(clk, carry_in,carry_out);
input clk;input carry_in;output carry_out;reg value;assign carry_out = value & carry_in;initial value = 0;
always @(posedge clk) begin// value =(value + carry_in) % 2; case(value)
0: value = carry_in;1: if(carry_in ==0)
value = 1; else value = 0; endcaseendendmodule
Gate Level (netlist):
.model counter_cell
.inputs carry_in
.outputs carry_out
.names value carry_in _n2
.def 01 1 1.names _n2 carry_out$raw_n1- =_n2.names value$raw_n30.names _n60.names value _n6 _n7
.def 00 1 11 0 1.r value$raw_n3 value0 01 1
.. (120 lines)
-
8/8/2019 Turing Award Lecture
49/57
Lack of verification supportLack of verification support
Gate level (netlists)
Register Level
System
Behavioraluse techniquesfromsoftwareverification
Must be automaticand scalable!!
Model Checking at the RegisterModel Checking at the Register
-
8/8/2019 Turing Award Lecture
50/57
Model Checking at the RegisterModel Checking at the RegisterLevelLevel
Gatelevel(netlists)
Register Level
System
Behavioral
Model check
Abstraction Refinement loopAbstraction Refinement loop
-
8/8/2019 Turing Award Lecture
51/57
Abstraction-Refinement loopAbstraction-Refinement loop(CEGAR)(CEGAR)
C
Program
C
Program
InitialInitial
AbstractionAbstraction
Simulator
No errorNo error
or bug foundor bug found
PropertyPropertyholdsholds
SimulationSimulation
sucessfulsucessful
Bug foundBug found
Abstraction refinementAbstraction refinement Refinement
Model
Checker
VerificationVerification
Spurious counterexampleSpurious counterexample
CounterexampleCounterexample
AbstractModel
-
8/8/2019 Turing Award Lecture
52/57
BenchmarksBenchmarks
Ethernet MAC from opencores.orgEthernet MAC from opencores.org 5000 lines of RTL Verilog5000 lines of RTL Verilog
Checked three properties:
1. Transmit module simulatesstate machine on left. (ETH0)
2. Checks transitions out of stateBackOff (ETH1)
3. Checks transitions out of stateJam (ETH2)
Defer
IPG Preamble
Data0BackOff Jam
Data1
FCS PAD
Idle
Transmit Module In Ethernet MAC
(self-loop on each state not shown)
-
8/8/2019 Turing Award Lecture
53/57
Experimental ResultsExperimental Results
Benchmark Latches Time (sec) #Preds #Iters
ETH0 359 44 21 55
ETH1 359 127 93 51
ETH2 359 161 94 111
-
8/8/2019 Turing Award Lecture
54/57
Challenges for the FutureChallenges for the Future
Exploiting the Power ofExploiting the Power ofSATSAT, Satisfiability Modulo Theories (, Satisfiability Modulo Theories (SMTSMT))
Compositional Model CheckingCompositional Model Checking of both Hardware and Softwareof both Hardware and Software
Software Model CheckingSoftware Model Checking, Model Checking and, Model Checking and Static AnalysisStatic Analysis
Verification of Embedded SystemsVerification of Embedded Systems (Timed and Hybrid Automata)(Timed and Hybrid Automata)
Model Checking and Theorem ProvingModel Checking and Theorem Proving (PVS, STEP, SyMP, Maude)(PVS, STEP, SyMP, Maude)
ProbabilisticProbabilistic andand StatisticalStatistical Model CheckingModel Checking
InterpretingInterpreting CounterexamplesCounterexamples
Scaling upScaling up even more!!even more!!
My goal:My goal:
-
8/8/2019 Turing Award Lecture
55/57
My goal:My goal:
Verification of Safety-Critical EmbeddedVerification of Safety-Critical Embedded
SystemsSystems
Do you trust your car?Do you trust your car?
Embedded Systems are as important in Europe asComputer Security is in the U.S.!
, - ,, - ,Vi itVisitors
-
8/8/2019 Turing Award Lecture
56/57
, ,, ,VisitorsVisitorsPh.D. Students:Ph.D. Students:
Sergey BerezinSergey Berezin
Michael BrowneMichael Browne
Jerry BurchJerry Burch
Sergio CamposSergio Campos
Sagar ChakiSagar Chaki
Pankaj ChauhanPankaj Chauhan
David DillDavid Dill
Allen EmersonAllen Emerson
Alex GroceAlex Groce
Anubhav GuptaAnubhav Gupta
Vicki Hartonas-GarmhausenVicki Hartonas-Garmhausen
Himanshu JainHimanshu Jain
Sumit JhaSumit Jha
William KlieberWilliam Klieber
David LongDavid Long
Yuan LuYuan Lu
Dong WangDong Wang
Will MarreroWill Marrero
Ken McMillanKen McMillan
Marius MineaMarius Minea
Bud MishraBud Mishra
Christos NikolaouChristos Nikolaou
Nishant SinhaNishant Sinha
Prasad SistlaPrasad Sistla
Muralidhar TalupurMuralidhar Talupur
Xudong ZhaoXudong Zhao
Post-docs:
Constantinos Bartzis
Armin Biere
Lei Bu
David Deharbe
Alexandre Donze
Azadeh Farzan
Ansgar Fehnker
Wolfgang Heinle
Tamir Heyman
James Kapinski
Daniel Kroening
Axel Legay
Daniel Milam
Alaexandar Nanevski
Joel Ouaknine
Karsten Schmidt
Subash Shankar
Ofer Strichman
Prasanna Thati Micheal Theobald
Tayssir Touili
Helmut Veith
Silke Wagner
Karen Yorav
Haifeng Zhu
Yunshan Zhu
Visitors:
Y. Chen
Y. Feng
T. Filkorn
M. Fujita
P. Granger
O. Grumberg
H. Hamaguchi
H. Hiraishi
S. Kimura
S. Krischner
G.H. Kwon
X. Li A. Platzer
R. Raimi
H. Schlingloff
S. Shanker
Y.Q. Sun
T. Tang
F. Tiplea Y. Tsay
J.P. Vidal
B. Wang
F. Wang
P. Williams
W. Windsteiger
Kwang Yi
T. Yoneda
-
8/8/2019 Turing Award Lecture
57/57
Questions?Questions?