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, 1995) • Controller synthesis (Arnold et al. , 2003) • Satisfiability (Friedmann & Lange, 2009b) 2 DTU Compute Formal Verification using Parity Games, NWPT 2015
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
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
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
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
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
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
Parity Game 6 2 3 7 4 5 8 1 Player 0 Player 1 4 DTU Compute Formal Verification using Parity Games, NWPT 2015
Modal µ -calculus Model Checking • M | = ϕ ? 5 DTU Compute Formal Verification using Parity Games, NWPT 2015
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
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
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
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
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
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
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
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
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
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
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
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
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
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