icgt 2018 cores a tool for computing core graphs via sat
play

ICGT 2018: CoReS: A Tool for Computing Core Graphs via SAT/SMT - PowerPoint PPT Presentation

ICGT 2018: CoReS: A Tool for Computing Core Graphs via SAT/SMT Solvers Barbara K onig Maxime Nederkorn Dennis Nolte University of Duisburg-Essen 25.06.2018 Motivation Aim Analyse the behaviour and verify the correctness of dynamically


  1. ICGT 2018: CoReS: A Tool for Computing Core Graphs via SAT/SMT Solvers Barbara K¨ onig Maxime Nederkorn Dennis Nolte University of Duisburg-Essen 25.06.2018

  2. Motivation Aim Analyse the behaviour and verify the correctness of dynamically evolving systems.

  3. Motivation Aim Analyse the behaviour and verify the correctness of dynamically evolving systems. Graph transformation systems are well suited to model: Concurrent systems Infinite state spaces Dynamic creation and deletion of objects Variable topologies . . .

  4. Motivation Aim Analyse the behaviour and verify the correctness of dynamically evolving systems. Graph transformation systems are well suited to model: Concurrent systems Infinite state spaces Dynamic creation and deletion of objects Variable topologies . . . Trade-off: More complex modeling language � harder analysis.

  5. Overview In this Talk Specify (possibly infinite) sets of graphs by finite graphs and compute their corresponding minimal representation. A A C B A A . . .

  6. Overview In this Talk Specify (possibly infinite) sets of graphs by finite graphs and compute their corresponding minimal representation. A A C B A A . . . Solving a subtask from our predecessor paper (ICGT 2017)

  7. Contents Background and Preliminaries (Exposition) Specifying Graph Languages using Type Graphs Retracts and Cores Core Computation via SAT/SMT Encodings (Rising Action) Retract Morphism Properties Core Computation Encodings CoReS (Peripety) Tool Demo Runtime Results Final Remarks (D´ enouement)

  8. Part I Background and Preliminaries

  9. The Basic Framework of Type Graphs We started by studying type graphs as a specification language. Type Graph Language Given a graph T , the language of T consists of all graphs that can be mapped homomorphically into T : L ( T ) = { G | there exists a morphism ϕ : G → T }

  10. The Basic Framework of Type Graphs We started by studying type graphs as a specification language. Type Graph Language Given a graph T , the language of T consists of all graphs that can be mapped homomorphically into T : L ( T ) = { G | there exists a morphism ϕ : G → T } A A A ∅ A A A A A L ( ) = A . . .

  11. The Basic Framework of Type Graphs We started by studying type graphs as a specification language. Type Graph Language Given a graph T , the language of T consists of all graphs that can be mapped homomorphically into T : L ( T ) = { G | there exists a morphism ϕ : G → T } Why study Type Graphs? They are simple. Other formalisms are based on type graphs (e.g., abstract graphs that use type graphs with additional annotations) Refine/Extend this basic formalism and analyse the properties.

  12. The Basic Framework of Type Graphs We started by studying type graphs as a specification language. Type Graph Language Given a graph T , the language of T consists of all graphs that can be mapped homomorphically into T : L ( T ) = { G | there exists a morphism ϕ : G → T } Why study Type Graphs? They are simple. Other formalisms are based on type graphs (e.g., abstract graphs that use type graphs with additional annotations) Refine/Extend this basic formalism and analyse the properties. Today’s aim: Efficiently minimize the type graph without changing its language.

  13. Minimization B B B A A C A B C B C B

  14. Minimization B B B A A C A B C B C B B A C

  15. Minimization B B B A A L ( ) C A B C B C B = B L ( ) A C

  16. Minimization B B B B A A A L ( ) C C A B C B C B = B L ( ) A C

  17. Minimization Among all type graphs that generate the same language (equivalence class of the homomorphism preorder), one is a subgraph of all the others. This graph is called the core.

  18. Minimization Among all type graphs that generate the same language (equivalence class of the homomorphism preorder), one is a subgraph of all the others. This graph is called the core. Retracts and Core Graphs A subgraph T ′ of a graph T for which there exists a morphism ϕ : T → T ′ is called a retract of T . If a graph has no proper retracts itself, it is called core graph. (Neˇ setˇ ril, Tardif).

  19. Minimization Among all type graphs that generate the same language (equivalence class of the homomorphism preorder), one is a subgraph of all the others. This graph is called the core. Retracts and Core Graphs A subgraph T ′ of a graph T for which there exists a morphism ϕ : T → T ′ is called a retract of T . If a graph has no proper retracts itself, it is called core graph. (Neˇ setˇ ril, Tardif). A A A A A B − → ← − B B B Core

  20. Invariant Checking Let T be a graph and core ( T ) be its core. Closure under rewriting L ( T ) is closed under application of ρ ⇐ ⇒ ρ L I R ∀ t L ∃ t R core ( T )

  21. Invariant Checking Let T be a graph and core ( T ) be its core. Closure under rewriting L ( T ) is closed under application of ρ ⇐ ⇒ ρ L I R ∀ t L ∃ t R core ( T ) Question: How can we efficiently compute the core graph?

  22. Part II Core Computation via SAT/SMT Encodings

  23. The Problem Core computation is NP-hard!

  24. The Problem Core computation is NP-hard! Reason: Checking whether there exists a morphism into is equivalent to checking 3-colourability. G is 3-colourable ⇐ ⇒ core ( G ⊎ ) =

  25. The Problem Core computation is NP-hard! Reason: Checking whether there exists a morphism into is equivalent to checking 3-colourability. G is 3-colourable ⇐ ⇒ core ( G ⊎ ) = Question: Given a graph G , does G contain a retract H ?

  26. The Problem Core computation is NP-hard! Reason: Checking whether there exists a morphism into is equivalent to checking 3-colourability. G is 3-colourable ⇐ ⇒ core ( G ⊎ ) = Question: Given a graph G , does G contain a retract H ? Retract Morphism Problem Given a graph G . Does there exist a non-surjective endomorphism ϕ ′ : G → G with ϕ ′ | H = id H where H = img ( ϕ ′ )?

  27. SMT Solver Satisfiability modulo theories (SMT) problem is a decision problem for logical formulas with respect to combinations of background theories expressed in classical first-order logic.

  28. SMT Solver Satisfiability modulo theories (SMT) problem is a decision problem for logical formulas with respect to combinations of background theories expressed in classical first-order logic. SMT solvers are useful for Verification Correctness proofs of programs Software testing based on symbolic execution

  29. SMT Solver Satisfiability modulo theories (SMT) problem is a decision problem for logical formulas with respect to combinations of background theories expressed in classical first-order logic. SMT solvers are useful for Verification Correctness proofs of programs Software testing based on symbolic execution We are using the SMT-LIB2 standard � prefix notation.

  30. SMT Solver Satisfiability modulo theories (SMT) problem is a decision problem for logical formulas with respect to combinations of background theories expressed in classical first-order logic. SMT solvers are useful for Verification Correctness proofs of programs Software testing based on symbolic execution We are using the SMT-LIB2 standard � prefix notation. Example (declare-const x Int) | x , y ∈ Int (declare-const y Int) (assert (= ( − x y) (+ x ( − y) 1))) | x − y = x − y + 1 (check-sat)

  31. Core Computation in a Nutshell Input Graph

  32. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction SAT/SMT Encoding

  33. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction SAT/SMT Encoding Input SAT/SMT Solver

  34. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction SAT/SMT Encoding Input Output SAT/SMT Satisfiable? Solver

  35. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction SAT/SMT Encoding Input ✓ Output SAT/SMT Satisfiable? Solver

  36. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction Retract SAT/SMT Morphism Encoding Parse Input Model ✓ Output SAT/SMT Satisfiable? Solver

  37. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction Image Retract SAT/SMT Retract Morphism Encoding Parse Input Model ✓ Output SAT/SMT Satisfiable? Solver

  38. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction Set Image Retract SAT/SMT Retract Morphism Encoding Parse Input Model ✓ Output SAT/SMT Satisfiable? Solver

  39. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction Set Image Retract SAT/SMT Retract Morphism Encoding Parse Input Model ✓ Output SAT/SMT Satisfiable? Solver ✗

  40. Core Computation in a Nutshell Input Graph Retract Morphism Problem Reduction Set Image Retract SAT/SMT Retract Morphism Encoding Parse Input Model ✓ Output SAT/SMT Satisfiable? Solver Core ✗

  41. Retract Morphism Properties For an input graph G = ( V , E , src , tgt , lab ), the encoding of ϕ needs to satisfy the following three conditions:

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