formal verification using parity games
play

Formal Verification using Parity Games Mathias N. Justesen DTU - PowerPoint PPT Presentation

Formal Verification using Parity Games Mathias N. Justesen DTU Compute, Technical University of Denmark (DTU) Overview Background Many problems within formal verification can be reduced to solving parity games Model checking (Stirling,


  1. Formal Verification using Parity Games Mathias N. Justesen DTU Compute, Technical University of Denmark (DTU)

  2. Overview Background • Many problems within formal verification can be reduced to solving parity games • Model checking (Stirling, 1995) • Controller synthesis (Arnold et al. , 2003) • Satisfiability (Friedmann & Lange, 2009b) 2 DTU Compute Formal Verification using Parity Games, NWPT 2015

  3. Overview Background • Many problems within formal verification can be reduced to solving parity games • Model checking (Stirling, 1995) • Controller synthesis (Arnold et al. , 2003) • Satisfiability (Friedmann & Lange, 2009b) • Practical work restricted to model checking • mCRL2 and LTSmin • PBES to parity game 2 DTU Compute Formal Verification using Parity Games, NWPT 2015

  4. Overview Background • Many problems within formal verification can be reduced to solving parity games • Model checking (Stirling, 1995) • Controller synthesis (Arnold et al. , 2003) • Satisfiability (Friedmann & Lange, 2009b) • Practical work restricted to model checking • mCRL2 and LTSmin • PBES to parity game • Verification framework based on parity game solving 2 DTU Compute Formal Verification using Parity Games, NWPT 2015

  5. Overview Framework Controller synthesis Controller 3. Backend Satisfiability Parity game Truth assignment Solution Constructive proof Model checking Counter-example 1. 2. 3 DTU Compute Formal Verification using Parity Games, NWPT 2015

  6. Overview Framework Controller synthesis Controller 3. Backend Satisfiability Parity game Truth assignment Solution Constructive proof Model checking Counter-example 1. 2. 1 Model-checking for the modal µ -calculus • Semantics based on evaluation games • Conversion from evaluation game to parity game 3 DTU Compute Formal Verification using Parity Games, NWPT 2015

  7. Overview Framework Controller synthesis Controller 3. Backend Satisfiability Parity game Truth assignment Solution Constructive proof Model checking Counter-example 1. 2. 1 Model-checking for the modal µ -calculus • Semantics based on evaluation games • Conversion from evaluation game to parity game 2 Use solution to construct proof or counter-example 3 DTU Compute Formal Verification using Parity Games, NWPT 2015

  8. Overview Framework Controller synthesis Controller 3. Backend Satisfiability Parity game Truth assignment Solution Constructive proof Model checking Counter-example 1. 2. 1 Model-checking for the modal µ -calculus • Semantics based on evaluation games • Conversion from evaluation game to parity game 2 Use solution to construct proof or counter-example 3 Backend based on PGSolver • Solve parity games in normal form 3 DTU Compute Formal Verification using Parity Games, NWPT 2015

  9. Parity Game 6 2 3 7 4 5 8 1 Player 0 Player 1 4 DTU Compute Formal Verification using Parity Games, NWPT 2015

  10. Modal µ -calculus Model Checking • M | = ϕ ? 5 DTU Compute Formal Verification using Parity Games, NWPT 2015

  11. Modal µ -calculus Model Checking • M | = ϕ ? • M is a Labelled Transition System a b s 0 s 1 p p , q a 5 DTU Compute Formal Verification using Parity Games, NWPT 2015

  12. Modal µ -calculus Model Checking • M | = ϕ ? • M is a Labelled Transition System a b s 0 s 1 p p , q a • Formulas of modal µ -calculus given proposition variables P and actions A : ϕ ::= ⊤ | ⊥ | p | ¬ p | ϕ ∧ ϕ | ϕ ∨ ϕ | � a � ϕ | [ a ] ϕ | µ x .ϕ | ν x .ϕ where p , x ∈ P and a ∈ A 5 DTU Compute Formal Verification using Parity Games, NWPT 2015

  13. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  14. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  15. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  16. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  17. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  18. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  19. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  20. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  21. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  22. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  23. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 Player 0: Prove x , s 0 x , s 1 Player 1: Disprove p ∨ [ a ] x , s 1 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 6 DTU Compute Formal Verification using Parity Games, NWPT 2015

  24. Modal µ -calculus Evaluation Game a a µ x . p ∨ [ a ] x , s 0 M , s 0 | = ϕ iff ( ϕ, s 0 ) ∈ W 0 0 a s 0 s 1 p Constructive proof or counter-example p ∨ [ a ] x , s 0 by the strategy of the winning player 0 µ x . p ∨ [ a ] x p , s 0 [ a ] x , s 0 1 0 Player 0: Prove x , s 0 x , s 1 1 1 Player 1: Disprove p ∨ [ a ] x , s 1 0 Construction cf. (Venema, 2008) p , s 1 [ a ] x , s 1 2 0 7 DTU Compute Formal Verification using Parity Games, NWPT 2015

Recommend


More recommend