lecture 1 introduction to model checking
play

Lecture 1: Introduction to model checking B. Srivathsan Chennai - PowerPoint PPT Presentation

Lecture 1: Introduction to model checking B. Srivathsan Chennai Mathematical Institute Model Checking and Systems Verification January - April 2015 1 / 25 What are we interested in? 2 / 25 What are we interested in? Software Controllers Code


  1. Lecture 1: Introduction to model checking B. Srivathsan Chennai Mathematical Institute Model Checking and Systems Verification January - April 2015 1 / 25

  2. What are we interested in? 2 / 25

  3. What are we interested in? Software Controllers Code that controls the working of safety critical systems 2 / 25

  4. Safety-critical systems 3 / 25

  5. Controlled by software ◮ Aircrafts ◮ Medical devices ◮ Cars ◮ Nuclear power plants ◮ Space missions ◮ Railway signalling systems ◮ and many more ... 4 / 25

  6. Controlled by software ◮ Aircrafts ◮ Medical devices ◮ Cars ◮ Nuclear power plants ◮ Space missions ◮ Railway signalling systems ◮ and many more ... Correctness of these software is very important 4 / 25

  7. Accidents due to software bugs 5 / 25

  8. ◮ Igor Walukiewicz’s slides (4 - 7) ◮ Yogananda Jeppu’s slides (22 - 38) 6 / 25

  9. Errors that are hard to detect 7 / 25

  10. Concurrent programs while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 8 / 25

  11. Concurrent programs while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 Is the value of x always between 0 and 200? 8 / 25

  12. Concurrent programs while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 Is the value of x always between 0 and 200? No! (why?) 8 / 25

  13. Goal: Make low-defect software controllers Traditional testing insufficient for safety-critical systems 9 / 25

  14. Goal: Make low-defect software controllers Traditional testing insufficient for safety-critical systems → A new verification technology called Model-checking Joseph Sifakis Edmund Clarke Allen Emerson 9 / 25

  15. Model Checking Think of controllers as finite state machines 10 / 25

  16. Model Checking Think of controllers as finite state machines Philosophy: Computations as sequences of states - Igor’s slides (55 - 57) 10 / 25

  17. while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 11 / 25

  18. while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 Is the value of x always between 0 and 200? 11 / 25

  19. while x < 200 while x>0 while x=200 x := x+1 x := x-1 x := 0 m 1 n 1 l 1 x := x+1 x < 200 x:=x-1 x > 0 x:=0 x = 200 m 2 n 2 l 2 Is the value of x always between 0 and 200? 11 / 25

  20. l 1 , m 1 , n 1 x:=x+1 x=200 x:=x-1 x>0 x:=0 x<200 l 2 , m 1 , n 1 l 1 , m 2 , n 1 l 1 , m 1 , n 2 x=200 x:=x+1 x<200 x:=x-1 x>0 x:=x-1 x>0 x=200 x:=x+1 x:=0 x<200 x:=0 l 2 , m 2 , n 1 l 2 , m 1 , n 2 l 1 , m 2 , n 2 x=200 x:=x+1 x:=x-1 x>0 x:=0 x<200 l 2 , m 2 , n 2 12 / 25

  21. l 1 , m 1 , n 1 x:=x+1 x=200 x:=x-1 x>0 x:=0 x<200 l 2 , m 1 , n 1 l 1 , m 2 , n 1 l 1 , m 1 , n 2 x=200 x:=x+1 x<200 x:=x-1 x>0 x:=x-1 x>0 x=200 x:=x+1 x:=0 x<200 x:=0 l 2 , m 2 , n 1 l 2 , m 1 , n 2 l 1 , m 2 , n 2 x=200 x:=x+1 x:=x-1 x>0 x:=0 x<200 l 2 , m 2 , n 2 12 / 25

  22. l 1 , m 1 , n 1 x:=x+1 x=200 x:=x-1 x>0 x:=0 x<200 l 2 , m 1 , n 1 l 1 , m 2 , n 1 l 1 , m 1 , n 2 x=200 x:=x+1 x<200 x:=x-1 x>0 x:=x-1 x>0 x=200 x:=x+1 x:=0 x<200 x:=0 l 2 , m 2 , n 1 l 2 , m 1 , n 2 l 1 , m 2 , n 2 x=200 x:=x+1 x:=x-1 x>0 x:=0 x<200 l 2 , m 2 , n 2 Is the value of x always between 0 and 200? No 12 / 25

  23. Instead of writing the code directly, the functionality is specified as a suitable mathematical model (extensions of finite state machines) This mathematical object can then be analyzed . The final code can be generated directly from the model. 13 / 25

  24. inputs satisfy Requirements ? Does Controller output action 14 / 25

  25. inputs satisfy Requirements ? Does Controller output action AG safe F p ∧ q ? satisfy Does Mathematical Model Formal notation 14 / 25

  26. inputs satisfy Requirements ? Does Controller output action AG safe F p ∧ q ? satisfy Does Mathematical Model Formal notation Model Checking 14 / 25

  27. Model-checkers Requirements ? satisfy Does Model Format of the model-checker 15 / 25

  28. Model-checkers Requirements ? satisfy Does Model Format of the model-checker Model-checkers automatically solve the above question 15 / 25

  29. Model-checkers Requirements ? satisfy Does Model Format of the model-checker Model-checkers automatically solve the above question Some model-checkers: NuSMV, SPIN, TLA + , SCADE Suite 15 / 25

  30. Success of Model-checking 16 / 25

  31. Airbus ◮ Uses SCADE Suite (developed by Esterel Technologies) to develop critical on board software for A340-500 / 600, A380 series aircrafts ◮ Significant decrease of coding errors due to extensive use of automatic code generation. For Airbus A340, up to 70% of the code has been automatically generated ◮ Major productivity improvement , which is particularly significant considering that the size of the software doubles with each new Airbus program Source: Website of Esterel Technologies 17 / 25

  32. Hardware verification ◮ Many companies, including industry leaders such as AT&T, Cadence, Hewlett-Packard, IBM, Intel, LSI Logic, Motorola, Rockwell, Texas Instruments, and Silicon Graphics have created formal verification groups to help with ongoing designs. ◮ In many cases, these groups began by demonstrating the effectiveness of formal verification by finding subtle design errors that were overlooked by months of simulation. Source: Acceptance of formal methods: Lessons from hardware design, by D. Dill and J. Rushby 18 / 25

  33. Amazon ◮ Since 2011, engineers at Amazon Web Services (AWS) have used formal specification and model checking to help solve difficult design problems in critical systems Source: How Amazon Web Services Uses Formal Methods, by C. Newcombe et al. 19 / 25

  34. Some other places where Model Checking technology is used ◮ Avionics: Rockwell Collins, Honeywell ◮ Automobiles: Toyota ◮ Space: NASA, European Space Agency ◮ Others: Microsoft Research, Tata ◮ Model-checking solutions: Esterel technologies, BTC embedded systems, Mathworks, Prover technology 20 / 25

  35. Some other places where Model Checking technology is used ◮ Avionics: Rockwell Collins, Honeywell ◮ Automobiles: Toyota ◮ Space: NASA, European Space Agency ◮ Others: Microsoft Research, Tata ◮ Model-checking solutions: Esterel technologies, BTC embedded systems, Mathworks, Prover technology Backed by many university groups from all over the world! 20 / 25

  36. Turing Award 2007 Clarke, Emerson and Sifakis for Model-checking Some other Turing award winners: ◮ Edsger Dijkstra (1972) ◮ Donald Knuth (1974) ◮ Rabin and Scott (1976) ◮ Tony Hoare (1980) ◮ Ritchie and Thompson (1983) ◮ Hopcroft and Tarjan (1986) ◮ Rivest, Shamir, Adleman (2002) 21 / 25

  37. Turing Award 1996 Amir Pnueli Pnueli received the Turing Award for seminal work introducing temporal logic into computing science and for outstanding contributions to program and systems verification 22 / 25

  38. Turing Award 2013 Leslie Lamport He devised important algorithms and developed formal modeling and verification protocols that improve the quality of real distributed systems . These contributions have resulted in improved correctness, performance, and reliability of computer systems . 23 / 25

  39. What we have seen? ◮ Software control many safety-critical systems ◮ Accidents do occur due to software errors ◮ Model-checking is an additional verification method ◮ Model-checking has been successful 24 / 25

  40. In this course Introduction to techniques, tools and challenges in model-checking ◮ Part 1: (Srivathsan) Basic concepts, Automata-theoretic methods ◮ Part 2: (Srivas) Advanced concepts, Symbolic model-checking Book: Principles of Model Checking, Christel Baier and Joost-Pieter Katoen , MIT Press (2008) 25 / 25

Recommend


More recommend