self loop aggregation product a new hybrid approach to on
play

Self-Loop Aggregation Product A New Hybrid Approach to On-the-Fly - PowerPoint PPT Presentation

Self-Loop Aggregation Product A New Hybrid Approach to On-the-Fly LTL Model Checking Alexandre Duret-Lutz (LRDE/EPITA) Kais Klai (LIPN/Paris 13) Denis Poitrenaud (LIP6/Paris 6) Yann Thierry-Mieg (LIP6/Paris 6) ATVA 2011 October 2011


  1. Self-Loop Aggregation Product — A New Hybrid Approach to On-the-Fly LTL Model Checking Alexandre Duret-Lutz (LRDE/EPITA) Kais Klai (LIPN/Paris 13) Denis Poitrenaud (LIP6/Paris 6) Yann Thierry-Mieg (LIP6/Paris 6) ATVA 2011 October 2011 http://move.lip6.fr/software/DDD/ltl_bench.html ATVA’11 Self-Loop Aggregation Product 1 / 17

  2. Automata-Theoretic Explicit LTL Model Checking High-level State-space State-space model M generation automaton Product A M Automaton A ¬ ϕ ⊗ A M Synchronized product Emptiness check L ( A ¬ ϕ ⊗ A M ) = L ( A ¬ ϕ ⊗ A M ) ? L ( A ¬ ϕ ) ∩ L ( A M ) = ∅ Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 2 / 17

  3. Automata-Theoretic Explicit LTL Model Checking High-level State-space State-space model M generation automaton Product A M Automaton A ¬ ϕ ⊗ A M Synchronized product Emptiness check L ( A ¬ ϕ ⊗ A M ) = L ( A ¬ ϕ ⊗ A M ) ? L ( A ¬ ϕ ) ∩ L ( A M ) = ∅ Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 2 / 17

  4. Automata-Theoretic Explicit LTL Model Checking High-level On-the-fly generation model M of state-space automaton Product A M Automaton A ¬ ϕ ⊗ A M Synchronized product Emptiness check L ( A ¬ ϕ ⊗ A M ) = L ( A ¬ ϕ ⊗ A M ) ? L ( A ¬ ϕ ) ∩ L ( A M ) = ∅ Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 2 / 17

  5. Automata-Theoretic Explicit LTL Model Checking High-level On-the-fly generation model M of state-space automaton A M On-the-fly synchronized product Emptiness check L ( A ¬ ϕ ⊗ A M ) = L ( A ¬ ϕ ⊗ A M ) ? L ( A ¬ ϕ ) ∩ L ( A M ) = ∅ Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 2 / 17

  6. Explicit Approach a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ ATVA’11 Self-Loop Aggregation Product 3 / 17

  7. Explicit Approach a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ A ¬ ϕ ⊗ A M : a ¯ a ¯ b ¯ c bc ab ¯ c ab ¯ c q 0 , s 0 q 0 , s 3 q 0 , s 4 q 1 , s 5 q 1 , s 4 a ¯ a ¯ a ¯ bc bc bc abc ¯ a ¯ b ¯ c ab ¯ c ¯ q 0 , s 2 q 0 , s 1 q 1 , s 6 q 1 , s 7 Emptiness check = search for an accepting cycle in the product State explosion problem ATVA’11 Self-Loop Aggregation Product 3 / 17

  8. Symbolic Observation Graph (SOG) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ For stuttering invariant properties (e.g., LTL \ X ) Ignore non-observable propositions Aggregate Kripke states with homogeneous labels Represent aggregates using BDDs K. Klai and D. Poitrenaud. MC-SOG: An LTL model checker based on symbolic observation graphs. In Proc. of PN’08, vol. 5062 of LNCS, pp. 288–306. Springer ATVA’11 Self-Loop Aggregation Product 4 / 17

  9. Symbolic Observation Graph (SOG) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ a ¯ a ¯ b b { s 0 s 1 SOG: s 2 s 3 } { s 5 } { s 4 } { s 6 s 7 } a ¯ b a ¯ b ab ab ¯ K. Klai and D. Poitrenaud. MC-SOG: An LTL model checker based on symbolic observation graphs. In Proc. of PN’08, vol. 5062 of LNCS, pp. 288–306. Springer ATVA’11 Self-Loop Aggregation Product 4 / 17

  10. Product Sizes: Kripke vs. SOG A ¬ ϕ ⊗ A M : a ¯ a ¯ b ¯ c bc ab ¯ c ab ¯ c q 0 , s 0 q 0 , s 3 q 0 , s 4 q 1 , s 5 q 1 , s 4 a ¯ a ¯ a ¯ bc bc bc abc ¯ a ¯ b ¯ c ab ¯ c ¯ q 0 , s 2 q 0 , s 1 q 1 , s 6 q 1 , s 7 a ¯ b ab q 0 , { s 0 s 1 A ¬ ϕ ⊗ SOG: s 2 s 3 } q 0 , { s 4 } q 1 , { s 5 } ab a ¯ a ¯ b b a ¯ b ab ¯ q 0 , a ¯ q 1 , { s 4 } q 1 , { s 6 s 7 } b K. Klai and D. Poitrenaud. MC-SOG: An LTL model checker based on symbolic observation graphs. In Proc. of PN’08, vol. 5062 of LNCS, pp. 288–306. Springer ATVA’11 Self-Loop Aggregation Product 5 / 17

  11. BCZ: Multiple-State Tableaux Similar to SOG with only 1 step par aggregate: supports full LTL no need to search for livelock cycles Low aggregation power: on our example with low branching, it does not reduce the Kripke structure. A. Biere, E. M. Clarke, and Y. Zhu. Multiple state and single state tableaux for combining local and global model checking. In Correct System Design, vol. 1710 of LNCS, pp. 163–179. Springer, 1999 ATVA’11 Self-Loop Aggregation Product 6 / 17

  12. Building a Product Directly High-level On-the-fly generation model M of state-space automaton A M On-the-fly synchronized product Emptiness check L ( A ¬ ϕ ⊗ A M ) = L ( A ¬ ϕ ⊗ A M ) ? L ( A ¬ ϕ ) ∩ L ( A M ) = ∅ Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 7 / 17

  13. Building a Product Directly High-level model M Dynamic and on-the-fly generation of an automaton D such that L ( D ) = ∅ ⇐ ⇒ L ( A ¬ ϕ ⊗ A M ) = ∅ . Emptiness check ? = ∅ L ( D ) Negated M | = ϕ or property au- LTL counterexample LTL tomaton A ¬ ϕ translation property ϕ ATVA’11 Self-Loop Aggregation Product 7 / 17

  14. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  15. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  16. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  17. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  18. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  19. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  20. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 2 s 1 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  21. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  22. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 3 s 0 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 2 s 1 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : ATVA’11 Self-Loop Aggregation Product 8 / 17

  23. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : � s 0 s 1 � q 0 , s 2 s 3 s 4 ATVA’11 Self-Loop Aggregation Product 8 / 17

  24. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : � s 0 s 1 ⊤ � q 1 , { s 5 } q 0 , s 2 s 3 s 4 ATVA’11 Self-Loop Aggregation Product 8 / 17

  25. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : � s 0 s 1 ⊤ � q 1 , { s 5 } q 0 , s 2 s 3 s 4 ATVA’11 Self-Loop Aggregation Product 8 / 17

  26. Self-Loop Aggregation Product (SLAP) a ¯ a ¯ a ¯ b ¯ c bc ab ¯ c bc a ¯ ⊤ s 3 s 0 s 4 s 5 s 5 b b A M : A ¬ ϕ : s 2 s 1 s 7 s 6 q 0 q 1 a ¯ a ¯ bc b ¯ c abc ab ¯ c ¯ ¯ Self-Loop Aggregation Product : � s 0 s 1 ⊤ ⊤ � q 1 , { s 4 s 5 q 1 , { s 5 } s 6 s 7 } q 0 , s 2 s 3 s 4 ATVA’11 Self-Loop Aggregation Product 8 / 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend