Reducing CTL-Live Model Checking to First-Order Logic Validity Checking Amirhossein Vakili and Nancy A. Day Cheriton School of Computer Science 24 October 2014 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 1 / 10
Model Checking based on SAT/SMT Solving Safety Property: Is X reachable? Model Checker Model: X YES/NO ..... Fixpoint? SMT solver ..... ..... Focus on safety properties Iteratively calls the solver Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 2 / 10
Our Result: CTL-Live Model Checking as FOL Validity Liveness Property: Is X always reachable? Model: Model Checker X YES/NO ..... Reduction SMT solver ..... ..... Focus on liveness properties Solved by first-order logic deduction techniques (e.g., SMT solvers) No need for abstraction or invariant generation Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 3 / 10
CTL-Live CTL-Live includes CTL connectives that are defined using the least fixpoint operator of mu-calculus. Temporal part ::= π | ϕ 1 ∨ ϕ 2 | ϕ 1 ∧ ϕ 2 ϕ ::= EX ϕ | AX ϕ | EF ϕ | AF ϕ ::= ϕ 1 EU ϕ 2 | ϕ 1 AU ϕ 2 Propositional part ::= P | ¬ π | π 1 ∨ π 2 π where P is a labelling predicate. Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 4 / 10
CTL-Live CTL-Live includes CTL connectives that are defined using the least fixpoint operator of mu-calculus. Temporal part ::= π | ϕ 1 ∨ ϕ 2 | ϕ 1 ∧ ϕ 2 ϕ ::= EX ϕ | AX ϕ | EF ϕ | AF ϕ ::= ϕ 1 EU ϕ 2 | ϕ 1 AU ϕ 2 Propositional part ::= P | ¬ π | π 1 ∨ π 2 π where P is a labelling predicate. In CTL-Live AF P ( EF ¬ P ) AU ( AX Q ) Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 4 / 10
CTL-Live CTL-Live includes CTL connectives that are defined using the least fixpoint operator of mu-calculus. Temporal part ::= π | ϕ 1 ∨ ϕ 2 | ϕ 1 ∧ ϕ 2 ϕ ::= EX ϕ | AX ϕ | EF ϕ | AF ϕ ::= ϕ 1 EU ϕ 2 | ϕ 1 AU ϕ 2 Propositional part ::= P | ¬ π | π 1 ∨ π 2 π where P is a labelling predicate. In CTL-Live Not In CTL-Live AF P ¬ ( AF P ) ( EF ¬ P ) AU ( AX Q ) AG P Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 4 / 10
Symbolic Kripke Structures in FOL ... c = 4 c = 2 c = 0 c = 5 ... initial ... c = 3 c = 6 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 5 / 10
Symbolic Kripke Structures in FOL ... c = 4 c = 2 c = 0 c = 5 ... initial ... c = 3 c = 6 S = { 0 , 1 , 2 , 3 , .. } state space S 0 ( c ) ⇔ c = 0 initial states c ′ = c + 2 ∨ c ′ = c + 3 N ( c , c ′ ) ⇔ next-state relation Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 5 / 10
Symbolic Kripke Structures in FOL ... c = 4 c = 2 c = 0 c = 5 ... initial ... c = 3 c = 6 S = { 0 , 1 , 2 , 3 , .. } state space S 0 ( c ) ⇔ c = 0 initial states c ′ = c + 2 ∨ c ′ = c + 3 N ( c , c ′ ) ⇔ next-state relation Notation symbolic ( K ) | = c AF c > 3 [ AF c > 3] = { 0 , 1 , 2 , ... } Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 5 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Y 1 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Y 1 Y 2 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Y 3 Y 1 Y 2 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Y 3 Y 1 Y 2 Y 4 Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: States Satisfying AF P According to encoding of AF in mu-calculus, [ AF P ] is the smallest set Y that satisfies: (1) ∀ s • P ( s ) ⇒ Y ( s ) ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � (2) ∀ s • ⇒ Y ( s ) State Space Y 3 Y 1 Y 2 [ AF P ] Y 4 � [ AF P ] = where Θ = { Y s satisfying (1) , (2) } Y Y ∈ Θ Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 6 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ Y Y ∈ Θ Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ iff ∀ Y ∈ Θ • S 0 ⊆ Y Y Y ∈ Θ Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ iff ∀ Y ∈ Θ • S 0 ⊆ Y Y Y ∈ Θ Higher-order universal quantifier Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ iff ∀ Y ∈ Θ • S 0 ⊆ Y Y Y ∈ Θ Higher-order universal quantifier First-order logic formula Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ iff ∀ Y ∈ Θ • S 0 ⊆ Y Y Y ∈ Θ Higher-order universal quantifier First-order logic formula Definition (FOL Validity) Γ | = Φ iff every interpretation that satisfies Γ also satisfies Φ. Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Intuition: Model Checking AF P Model checking is about a subset relation, S 0 ⊆ [ AF P ]: � S 0 ⊆ iff ∀ Y ∈ Θ • S 0 ⊆ Y Y Y ∈ Θ Higher-order universal quantifier First-order logic formula Definition (FOL Validity) Γ | = Φ iff every interpretation that satisfies Γ also satisfies Φ. Description of model ∀ s • P ( s ) ⇒ Y ( s ) + | = S 0 ⊆ Y ∀ s ′ • N ( s , s ′ ) ⇒ Y ( s ′ ) � � symbolic ( K ) ∀ s • ⇒ Y ( s ) Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 7 / 10
Our Result Reduction Procedure: INPUT: symbolic ( K ) : symbolic representation of a Kripke structure. : a CTL-Live formula. ϕ OUTPUT: symbolic ( K ) � CTLL2FOL ( ϕ ) | = S 0 ⊆ ⌈ ϕ ⌉ Theorem (Reduction of CTL-Live Model Checking to FOL Validity) symbolic ( K ) | = c ϕ iff � symbolic ( K ) CTLL2FOL ( ϕ ) | = S 0 ⊆ ⌈ ϕ ⌉ Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 8 / 10
Our Result Reduction Procedure: INPUT: symbolic ( K ) : symbolic representation of a Kripke structure. : a CTL-Live formula. ϕ OUTPUT: symbolic ( K ) � CTLL2FOL ( ϕ ) | = S 0 ⊆ ⌈ ϕ ⌉ Example : ∀ c • S 0 ( c ) ⇔ c = 0 ∀ c , c ′ • N ( c , c ′ ) ⇔ c ′ = c + 2 ∨ c ′ = c + 3 ∀ c • c > 3 ⇒ Y ( c ) ∀ c ′ • N ( c , c ′ ) ⇒ Y ( c ′ ) � � ∀ c • ⇒ Y ( c ) | = S 0 ⊆ Y Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 8 / 10
Our Result Reduction Procedure: INPUT: symbolic ( K ) : symbolic representation of a Kripke structure. : a CTL-Live formula. ϕ OUTPUT: symbolic ( K ) � CTLL2FOL ( ϕ ) | = S 0 ⊆ ⌈ ϕ ⌉ Example : ∀ c • S 0 ( c ) ⇔ c = 0 ∀ c , c ′ • N ( c , c ′ ) ⇔ c ′ = c + 2 ∨ c ′ = c + 3 ∀ c • c > 3 ⇒ Y ( c ) ∀ c ′ • N ( c , c ′ ) ⇒ Y ( c ′ ) � � ∀ c • ⇒ Y ( c ) | = S 0 ⊆ Y Vakili and Day (U. of Waterloo) CTL-Live Model Checking in FOL 24 October 2014 8 / 10
Recommend
More recommend