SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Model Checking en
Betrouwbaarheid van Software


               Frits Vaandrager

 Institute for Computing and Information Sciences
            Radboud Universiteit Nijmegen




                                                    1
Computing Technology
        (R)Evolution




1935
 1946   2010
               2
                           2
Iedereen heeft toch al een
PC, Internet, een
mobieltje, een Xbox en
een TomTom?

Informatietechnologie
is toch al af?

Duh!



                             3
Informatica staat pas aan het begin!




Wetenschappers MIT:
 7 van de 10 meest
 belangrijke opkomende
 technologieën zijn ICT
 gerelateerd




                                          4
40% kosten moderne auto is electronica

90% innovaties autoindustrie ICT gerelateerd!




                                           5
Bionische Ogen?




                  6
Klimaatverandering
“ICT is a key sector in the fight
   against climate change”

   SMART 2020 Report. The
   Climate Group, McKinsey &
   Co, June 2008.




                                       7
Voorbeeld: Permasense Project




                                8
Informatica is voor creatievelingen




                                      9
“Computing is the transformative science of our age”


J. Moore




                                                       10
Onderzoek aan Radboud Universiteit (1):
             Digitale Beveiliging


OV-chipkaart           Electronisch Patiënten Dossier (EPD)




                                                      11
Onderzoek aan Radboud Universiteit (2):
        Intelligente Systemen




 Brain-computer interfaces


                                          12
Onderzoek aan Radboud Universiteit (3):
    Hoe maak je correcte software?


             Onze samenleving is volledig
             afhankelijk van computers



             Is ons vertrouwen in computers
             terecht?




                                              13
Sint Servaasbrug Maastricht

                       “Uptime”:
                       ruim 700 jaar




                                       14
Ariane 5 Raket

                 “Uptime”:
                  40 sec




                             15
Aandeel ICT in productiekosten auto’s
• 2000: 26%

• 2010: 48%




                                          16
Software is absoluut het meest complexe
 artefact dat de mens routinematig bouwt…

Tussen 1069 en 1081 atomen in      10 MB geheugen > 1020.000.000
het universum                      toestanden




      Software is niet continu: wijziging van 1 bit in een
      programma kan leiden tot volstrekt ander gedrag!
                                                                   17
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




                                                                 18
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


                                       19
Voorbeeld: Überlingen, 1 Juli 2002
                          • Boeing & Tupolew kruisen
B757-200         TU154M
                          • 21:33:03
            !
                             – Alarm door het Collision
                               Avoidance System (TCAS)




                                                          20
Voorbeeld: Überlingen, 1 Juli 2002
                          • Boeing & Tupolew kruisen
B757-200         TU154M
                          • 21:33:03
            !
                             – Alarm door het Collision
                               Avoidance System (TCAS)
                          • 21:34:49
                             – Opdracht verkeersleider




                                                          21
Voorbeeld: Überlingen, 1 Juli 2002
                          • Boeing & Tupolew kruisen
B757-200         TU154M
                          • 21:33:03
            !
                             – Alarm door het Collision
                               Avoidance System (TCAS)
                          • 21:34:49
                             – Opdracht verkeersleider

                          • 21:34:56
                             – TCAS aanbeveling




                                                          22
Voorbeeld: Überlingen, 1 Juli 2002
                          • Boeing & Tupolew kruisen
B757-200         TU154M
                          • 21:33:03
            !
                             – Alarm door het Collision
                               Avoidance System (TCAS)
                          • 21:34:49
                             – Opdracht verkeersleider

                          • 21:34:56
                             – TCAS aanbeveling


                          • 21:35:32
                             – Botsing



                                                          23
Voorbeeld: Überlingen, 1 Juli 2002
                                • Boeing & Tupolew kruisen
B757-200              TU154M
                                • 21:33:03
            !
                                   – Alarm
                   Officiële aanbeveling: door het Collision
                                       Avoidance System (TCAS)
               “piloten dienen adviezen van
                                 • 21:34:49
           TCAS op te volgen, onafhankelijk van
                                     – Opdracht verkeersleider
            eventuele strijdige adviezen door de
                      verkeersleiding”
                                 • 21:34:56
                                    – TCAS aanbeveling
                Een computer vertrouwen!?
                                • 21:35:32
                                    – Botsing



                                                                 24
Formele Verificatie
                            • Kenmerken
                               – Gebruik taal van de wiskunde
 Model van      Model van      – Computerondersteuning
 Omgeving       Software    • Hybride Systeem
                               – continue omgeving
                               – discrete software
Nauwkeurige
 Specificatie




                                                            25
Modelgebaseerd Ontwerpen
                                • Kenmerken
                                   – Gebruik taal van de wiskunde
                                   – Computerondersteuning
 Model van       Model van
 Omgeving        Software       • Hybride Systeem
                                   – continue omgeving
                                   – discrete software
                                • Problemen
                    Bewijs
Nauwkeurige
                (met hulp van      – Bewijzen lukt alleen voor
 Specificatie                        eenvoudige modellen
                  computer)
                                   – Alle mogelijkheden moeten
                                     doorlopen worden
                                         toestandsexplosie




                                                                 26
Modelgebaseerd Ontwerpen
                                          • Kenmerken
                                             – Gebruik taal van de wiskunde
                                             – Computerondersteuning
      Model van            Model van
      Omgeving             Software       • Hybride Systeem
                                             – continue omgeving
                                             – discrete software
                                          • Problemen
                              Bewijs
    Nauwkeurige
                          (met hulp van      – Bewijzen lukt alleen voor
     Specificatie                              eenvoudige modellen
                            computer)
                                             – Alle mogelijkheden moeten
                                               doorlopen worden
                                                   toestandsexplosie
   TCAS deels
 correct bewezen           Garantie
Nancy Lynch et al, 2000   Correctheid


                                                                           27
Turing Award voor Model Checking




                                   28
Wat is Model Checking?




                         29
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?




                                               30
Toestandsdiagram




                   31
Oplossing Model Checker




                          32
Toepassingen van Model Checking

•   Draadloze sensornetwerken

•   NASA DEEP SPACE 1 missie

•   Stormvloedkering bij Rotterdam

•   Copieermachines

•   Radarsysteem voor auto’s

•   ….
                                       33
Doelen Cursus

1. Zelf leren werken met model checker Uppaal
 Bestaande modellen aanpassen
 Zelf eenvoudige modellen bouwen
 Eigenschappen formuleren en laten uitrekenen

2. Leren over gedistribueerde algoritmen




11 lessen + afsluitende toets

                                                 34

Weitere ähnliche Inhalte

Empfohlen

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Empfohlen (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Olympus v5

  • 1. Model Checking en Betrouwbaarheid van Software Frits Vaandrager Institute for Computing and Information Sciences Radboud Universiteit Nijmegen 1
  • 2. Computing Technology (R)Evolution 1935 1946 2010 2 2
  • 3. Iedereen heeft toch al een PC, Internet, een mobieltje, een Xbox en een TomTom? Informatietechnologie is toch al af? Duh! 3
  • 4. Informatica staat pas aan het begin! Wetenschappers MIT: 7 van de 10 meest belangrijke opkomende technologieën zijn ICT gerelateerd 4
  • 5. 40% kosten moderne auto is electronica 90% innovaties autoindustrie ICT gerelateerd! 5
  • 7. Klimaatverandering “ICT is a key sector in the fight against climate change” SMART 2020 Report. The Climate Group, McKinsey & Co, June 2008. 7
  • 9. Informatica is voor creatievelingen 9
  • 10. “Computing is the transformative science of our age” J. Moore 10
  • 11. Onderzoek aan Radboud Universiteit (1): Digitale Beveiliging OV-chipkaart Electronisch Patiënten Dossier (EPD) 11
  • 12. Onderzoek aan Radboud Universiteit (2): Intelligente Systemen Brain-computer interfaces 12
  • 13. Onderzoek aan Radboud Universiteit (3): Hoe maak je correcte software? Onze samenleving is volledig afhankelijk van computers Is ons vertrouwen in computers terecht? 13
  • 14. Sint Servaasbrug Maastricht “Uptime”: ruim 700 jaar 14
  • 15. Ariane 5 Raket “Uptime”: 40 sec 15
  • 16. Aandeel ICT in productiekosten auto’s • 2000: 26% • 2010: 48% 16
  • 17. Software is absoluut het meest complexe artefact dat de mens routinematig bouwt… Tussen 1069 en 1081 atomen in 10 MB geheugen > 1020.000.000 het universum toestanden Software is niet continu: wijziging van 1 bit in een programma kan leiden tot volstrekt ander gedrag! 17
  • 18. 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 18
  • 19. 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 19
  • 20. Voorbeeld: Überlingen, 1 Juli 2002 • Boeing & Tupolew kruisen B757-200 TU154M • 21:33:03 ! – Alarm door het Collision Avoidance System (TCAS) 20
  • 21. Voorbeeld: Überlingen, 1 Juli 2002 • Boeing & Tupolew kruisen B757-200 TU154M • 21:33:03 ! – Alarm door het Collision Avoidance System (TCAS) • 21:34:49 – Opdracht verkeersleider 21
  • 22. Voorbeeld: Überlingen, 1 Juli 2002 • Boeing & Tupolew kruisen B757-200 TU154M • 21:33:03 ! – Alarm door het Collision Avoidance System (TCAS) • 21:34:49 – Opdracht verkeersleider • 21:34:56 – TCAS aanbeveling 22
  • 23. Voorbeeld: Überlingen, 1 Juli 2002 • Boeing & Tupolew kruisen B757-200 TU154M • 21:33:03 ! – Alarm door het Collision Avoidance System (TCAS) • 21:34:49 – Opdracht verkeersleider • 21:34:56 – TCAS aanbeveling • 21:35:32 – Botsing 23
  • 24. Voorbeeld: Überlingen, 1 Juli 2002 • Boeing & Tupolew kruisen B757-200 TU154M • 21:33:03 ! – Alarm Officiële aanbeveling: door het Collision Avoidance System (TCAS) “piloten dienen adviezen van • 21:34:49 TCAS op te volgen, onafhankelijk van – Opdracht verkeersleider eventuele strijdige adviezen door de verkeersleiding” • 21:34:56 – TCAS aanbeveling Een computer vertrouwen!? • 21:35:32 – Botsing 24
  • 25. Formele Verificatie • Kenmerken – Gebruik taal van de wiskunde Model van Model van – Computerondersteuning Omgeving Software • Hybride Systeem – continue omgeving – discrete software Nauwkeurige Specificatie 25
  • 26. Modelgebaseerd Ontwerpen • Kenmerken – Gebruik taal van de wiskunde – Computerondersteuning Model van Model van Omgeving Software • Hybride Systeem – continue omgeving – discrete software • Problemen Bewijs Nauwkeurige (met hulp van – Bewijzen lukt alleen voor Specificatie eenvoudige modellen computer) – Alle mogelijkheden moeten doorlopen worden toestandsexplosie 26
  • 27. Modelgebaseerd Ontwerpen • Kenmerken – Gebruik taal van de wiskunde – Computerondersteuning Model van Model van Omgeving Software • Hybride Systeem – continue omgeving – discrete software • Problemen Bewijs Nauwkeurige (met hulp van – Bewijzen lukt alleen voor Specificatie eenvoudige modellen computer) – Alle mogelijkheden moeten doorlopen worden toestandsexplosie TCAS deels correct bewezen Garantie Nancy Lynch et al, 2000 Correctheid 27
  • 28. Turing Award voor Model Checking 28
  • 29. Wat is Model Checking? 29
  • 30. 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? 30
  • 33. Toepassingen van Model Checking • Draadloze sensornetwerken • NASA DEEP SPACE 1 missie • Stormvloedkering bij Rotterdam • Copieermachines • Radarsysteem voor auto’s • …. 33
  • 34. Doelen Cursus 1. Zelf leren werken met model checker Uppaal  Bestaande modellen aanpassen  Zelf eenvoudige modellen bouwen  Eigenschappen formuleren en laten uitrekenen 2. Leren over gedistribueerde algoritmen 11 lessen + afsluitende toets 34