Slide 1 - Radboud Universiteit

advertisement
Model Checking en
Betrouwbaarheid van Software
Frits Vaandrager
Institute for Computing and Information Sciences
Radboud Universiteit Nijmegen
1
1964
Socialistisch Kamerlid stelt
Minister van Economische
Zaken voor één computer
aan te schaffen voor heel
Nederland en het apparaat een
voor iedereen toegankelijke
plaats te geven op het
Binnenhof.
2
2008
Iedereen heeft toch al een
PC, Internet, een mobieltje,
een Xbox en een TomTom.
De Informatica is toch al af?
3
Informatica staat pas aan het begin!
Wetenschappers van
het MIT hebben in 2008
hun selectie van 10
meest belangrijke
opkomende
technologieën
gepresenteerd:
7 hiervan zijn ICT
gerelateerd.
4
Bionische Ogen?
5
Klimaatverandering
“ICT is a key sector in the fight
against climate change”
SMART 2020 Report. The
Climate Group, McKinsey &
Co, June 2008.
6
Gedachten lezen?!
Brein-computer interfaces
voor patiënten, piloten,
games, ...
7
Robots Tegen Dementie?
8
Informatica dat is toch
vooral technologie.
Zijn er nog wel echte
wetenschappelijke
uitdagingen?
9
“In their capacity as
intellectual challenge,
[computers] are without
precedent in the
cultural history of
mankind.”
Edsger Dijkstra
10
Hoe maken we software parallel?
Jouw nieuwe PC:
de Multicore
Processor
Alles op
dezelfde chip
cache
cache
Bus
cache
Bus
shared memory
Sun
T2000
Niagara
11
11
Hoe beveiligen we informatie op computers?
12
Mifare pasjes gekraakt
13
Hoe maken we computers intelligent?
Vierkleurenstelling gecheckt
met een computer
Werner en Gonthier, 2004
14
Kan een computer zichzelf repareren?
15
Informatici zitten toch
de hele dag naar een
schermpje te turen.
Wat is daar nou leuk
aan?
16
Als Informaticus Maak Je Wat
Samen met Anderen
17
Voorbeeld: Permasense Project
18
Beauty is our Business
Edsger Dijkstra
19
Informatica is voor creatievelingen
20
Hoe Maak Je Computers Betrouwbaar?
Onze samenleving is totaal afhankelijk van computers
Is ons vertrouwen in computers gegrond?
Kunnen we betrouwbare systemen bouwen?
21
Sint Servaasbrug Maastricht
“Uptime”:
ruim 700 jaar
22
Ariane 5 Raket
“Uptime”:
40 sec
23
Aandeel ICT in productiekosten auto’s
• 2000: 26%
• 2010: 48%
24
Software is absoluut het meest complexe
artefact dat de mens routinematig bouwt…
Tussen 1069 en 1081 atomen in
het universum
10 MB geheugen > 1020.000.000
toestanden
Software is niet continu: wijziging van 1 bit in een
programma kan leiden tot volstrekt ander gedrag!
25
Geen verrassing dus dat het vrijwel
nooit foutloos werkt!
2004: Mars Rover bevriest
2005: Computer “kaapt” vliegtuig
2007: Computer crashes bij ProRail
2009: Volvo roept
26.000 auto’s terug
26
In het Nieuws het Afgelopen Jaar
• OV kaart gekraakt
• C2000
• Problemen Roertunnel A73
• 730.000 belastingaangiften zoek
• Storing internetbankieren Rabobank
27
Onderzoek Radboud Universiteit
• Het bouwen van modellen
Beschrijf relevante
aspecten van systeem
formeel (in wiskundige
taal)
• Model checking
Gebruik computer om alle
toestanden van model te
doorzoeken
• Doel
Fouten (“bugs”) opsporen
28
Voorbeeld: Überlingen, 1 Juli 2002
B757-200
TU154M
!
• Boeing & Tupolew kruisen
• 21:33:03
– Alarm door het Collision
Avoidance System (TCAS)
29
Voorbeeld: Überlingen, 1 Juli 2002
B757-200
TU154M
!
• Boeing & Tupolew kruisen
• 21:33:03
– Alarm door het Collision
Avoidance System (TCAS)
• 21:34:49
– Opdracht verkeersleider
30
Voorbeeld: Überlingen, 1 Juli 2002
B757-200
TU154M
!
• Boeing & Tupolew kruisen
• 21:33:03
– Alarm door het Collision
Avoidance System (TCAS)
• 21:34:49
– Opdracht verkeersleider
• 21:34:56
– TCAS aanbeveling
31
Voorbeeld: Überlingen, 1 Juli 2002
B757-200
TU154M
!
• Boeing & Tupolew kruisen
• 21:33:03
– Alarm door het Collision
Avoidance System (TCAS)
• 21:34:49
– Opdracht verkeersleider
• 21:34:56
– TCAS aanbeveling
• 21:35:32
– Botsing
32
Voorbeeld: Überlingen, 1 Juli 2002
B757-200
!
• Boeing & Tupolew kruisen
TU154M
• 21:33:03
Officiële aanbeveling:
– Alarm door het Collision
Avoidance System (TCAS)
“piloten dienen adviezen
van
• 21:34:49
TCAS op te volgen, onafhankelijk
– Opdrachtvan
verkeersleider
eventuele strijdige adviezen door de
verkeersleiding”
• 21:34:56
– TCAS aanbeveling
Een computer vertrouwen!?
• 21:35:32
– Botsing
33
Formele Verificatie
• Kenmerken
Model van
Omgeving
Model van
Software
– Gebruik taal van de wiskunde
– Computerondersteuning
• Hybride Systeem
– continue omgeving
– discrete software
Nauwkeurige
Specificatie
34
Formele Verificatie
• Kenmerken
Model van
Omgeving
Model van
Software
Nauwkeurige
Specificatie
Bewijs
(met hulp van
computer)
– Gebruik taal van de wiskunde
– Computerondersteuning
• Hybride Systeem
– continue omgeving
– discrete software
• Problemen
– Lukt alleen voor eenvoudige
modellen
– Alle mogelijkheden moeten
doorlopen worden
 toestandsexplosie
• Oplossingen
– abstractie
– compositionaliteit
35
Formele Verificatie
• Kenmerken
Model van
Omgeving
Model van
Software
Nauwkeurige
Specificatie
Bewijs
(met hulp van
computer)
TCAS deels
correct bewezen
Nancy Lynch et al, 2000
– Gebruik taal van de wiskunde
– Computerondersteuning
• Hybride Systeem
– continue omgeving
– discrete software
• Problemen
– Lukt alleen voor eenvoudige
modellen
– Alle mogelijkheden moeten
doorlopen worden
 toestandsexplosie
Garantie
Correctheid
• Oplossingen
– abstractie
– compositionaliteit
36
Turing Award voor Model Checking
37
Wat is Model Checking?
38
Demonstratie Model Checker
Zes vriendinnen hebben ieder
een roddel. Ze bellen elkaar op.
Wanneer twee vriendinnen
elkaar spreken wisselen ze alle
roddels uit die ze op dat
moment weten.
Hoeveel gesprekken zijn nodig
voordat iedereen alle roddels
kent?
39
Toestandsdiagram
40
Temporele Logica
41
Oplossing Model Checker
42
Toepassingen van Model Checking
•
Draadloze sensornetwerken
•
NASA DEEP SPACE 1 missie
•
Stormvloedkering bij Rotterdam
•
Copieermachines
•
Radarsysteem voor auto’s
•
….
43
Doelen Cursus
• Zelf leren werken met model checker
• Leren over gedistribueerde algoritmen en
protocollen
12 lessen + afsluitende toets
44
Download