counting authorised paths in constrained control flow
play

Counting authorised paths in constrained control-flow graphs Nikola - PowerPoint PPT Presentation

Counting authorised paths in constrained control-flow graphs Nikola K. Blanchard 1 , Siargey Kachanovich 2 1 Digitrust, Loria, Universit e de Lorraine 2 Inria Sophia-Antipolis 5th Bordeaux Graph Workshop October 29th, 2019 Why this question?


  1. Counting authorised paths in constrained control-flow graphs Nikola K. Blanchard 1 , Siargey Kachanovich 2 1 Digitrust, Loria, Universit´ e de Lorraine 2 Inria Sophia-Antipolis 5th Bordeaux Graph Workshop October 29th, 2019

  2. Why this question? Model Bounds Counting in practice Conclusion 1/12

  3. Model We are given: • A directed graph G • A vector of dimension k initialised at 0: V = (0 , ... 0) • A start node • For each edge e , a vector V e of dimension k • An integer B to bound V • Constraints for each edge e Model Bounds Counting in practice Conclusion 2/12

  4. Avoiding infinite loops (1) ( − 1) No infinite path ⇐ ⇒ no cycle leaving v unchanged Model Bounds Counting in practice Conclusion 3/12

  5. Avoiding infinite loops (1) ( − 1) No infinite path ⇐ ⇒ no cycle leaving v unchanged Model Bounds Counting in practice Conclusion 3/12

  6. Objectives We look at two indicators: • Λ : length of longest authorised path • Π : number of distinct authorised paths Two goals: • Give general upper and lower bounds for Λ and Π on graphs of order n • Compute Λ( G ) and Π( G ) for any given G Model Bounds Counting in practice Conclusion 4/12

  7. Objectives We look at two indicators: • Λ : length of longest authorised path • Π : number of distinct authorised paths Two goals: • Give general upper and lower bounds for Λ and Π on graphs of order n • Compute Λ( G ) and Π( G ) for any given G Model Bounds Counting in practice Conclusion 4/12

  8. Simple example (1 , 0) ( − 1 , 3) (1 , − 1) Λ = 10, Π = 14 Model Bounds Counting in practice Conclusion 5/12

  9. Simple example (1 , 0) ( − 1 , 3) (1 , − 1) Λ = 10, Π = 14 Model Bounds Counting in practice Conclusion 5/12

  10. Upper bounds General case: Λ ≤ n × ( B + 1) k Corollary: Π ≤ n n × ( B +1) k When m < k : � k � Λ ≤ n × 2 m k m / 2 B m m Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × ( B + 1) m Model Bounds Counting in practice Conclusion 6/12

  11. Upper bounds General case: Λ ≤ n × ( B + 1) k Corollary: Π ≤ n n × ( B +1) k When m < k : � k � Λ ≤ n × 2 m k m / 2 B m m Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × ( B + 1) m Model Bounds Counting in practice Conclusion 6/12

  12. Upper bounds General case: Λ ≤ n × ( B + 1) k Corollary: Π ≤ n n × ( B +1) k When m < k : � k � Λ ≤ n × 2 m k m / 2 B m m Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × ( B + 1) m Model Bounds Counting in practice Conclusion 6/12

  13. Lower bound: multigraph case (1 , 0 , . . . , 0) ( − B , 1 , 0 , . . . , 0) . . . ( − B , . . . , − B , 1) Λ = n × ( B + 1) k , Π = 1 + n × ( B + 1) k Model Bounds Counting in practice Conclusion 7/12

  14. Lower bound: multigraph case (1 , 0 , . . . , 0) ( − B , 1 , 0 , . . . , 0) . . . ( − B , . . . , − B , 1) Λ = n × ( B + 1) k , Π = 1 + n × ( B + 1) k Model Bounds Counting in practice Conclusion 7/12

  15. Lower bound: ( n − 1) 2 < k case (1 , 0 , . . . , 0) K n (0 , . . . , 0) Π = ( n − 1) ( B − 1) B ( n − 1)2 − 1 Λ = (2 B + 1) B ( n − 1) 2 − 1 , Model Bounds Counting in practice Conclusion 8/12

  16. Lower bound: ( n − 1) 2 < k case (1 , 0 , . . . , 0) K n (0 , . . . , 0) Π = ( n − 1) ( B − 1) B ( n − 1)2 − 1 Λ = (2 B + 1) B ( n − 1) 2 − 1 , Model Bounds Counting in practice Conclusion 8/12

  17. How to find Π( G ) Central idea: • Assume we have a Markov chain that allows us to sample paths uniformly at random • Sample from it repeatedly • Stop when you get the same path twice • Output the square of the number of samples multiplied by 4 /π 2 Model Bounds Counting in practice Conclusion 9/12

  18. Problems with the Markov chain method Two main problems: • How do we find a good Markov chain? • Is there a divergence between the computed Π( G ) and the real Π( G )? Model Bounds Counting in practice Conclusion 10/12

  19. Markov chain example (1) Divergence: Π ′ = Π log(Π) Model Bounds Counting in practice Conclusion 11/12

  20. Markov chain example (1) Divergence: Π ′ = Π log(Π) Model Bounds Counting in practice Conclusion 11/12

  21. Open problems A few central questions: • How fast can we get the Markov chain to converge? • Can we find general bounds on the divergence? • Is there any general method that could approximate Π( G ) in Π( G ) o (1) • Can we compute Λ( G ) in o (Λ( G )) Model Bounds Counting in practice Conclusion 12/12

  22. Thank you for your attention Model Bounds Counting in practice Conclusion 12/12

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