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

counting authorised paths in constrained control flow
SMART_READER_LITE
LIVE PREVIEW

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?


slide-1
SLIDE 1

Counting authorised paths in constrained control-flow graphs

Nikola K. Blanchard1, Siargey Kachanovich2

1Digitrust, Loria, Universit´

e de Lorraine

2Inria Sophia-Antipolis

5th Bordeaux Graph Workshop October 29th, 2019

slide-2
SLIDE 2

Why this question?

Model Bounds Counting in practice Conclusion 1/12

slide-3
SLIDE 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

slide-4
SLIDE 4

Avoiding infinite loops

(1) (−1)

No infinite path ⇐ ⇒ no cycle leaving v unchanged

Model Bounds Counting in practice Conclusion 3/12

slide-5
SLIDE 5

Avoiding infinite loops

(1) (−1)

No infinite path ⇐ ⇒ no cycle leaving v unchanged

Model Bounds Counting in practice Conclusion 3/12

slide-6
SLIDE 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

slide-7
SLIDE 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

slide-8
SLIDE 8

Simple example

(1, 0) (−1, 3) (1, −1)

Λ = 10, Π = 14

Model Bounds Counting in practice Conclusion 5/12

slide-9
SLIDE 9

Simple example

(1, 0) (−1, 3) (1, −1)

Λ = 10, Π = 14

Model Bounds Counting in practice Conclusion 5/12

slide-10
SLIDE 10

Upper bounds

General case: Λ ≤ n × (B + 1)k Corollary: Π ≤ nn×(B+1)k When m < k: Λ ≤ n × 2mkm/2 k m

  • Bm

Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × (B + 1)m

Model Bounds Counting in practice Conclusion 6/12

slide-11
SLIDE 11

Upper bounds

General case: Λ ≤ n × (B + 1)k Corollary: Π ≤ nn×(B+1)k When m < k: Λ ≤ n × 2mkm/2 k m

  • Bm

Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × (B + 1)m

Model Bounds Counting in practice Conclusion 6/12

slide-12
SLIDE 12

Upper bounds

General case: Λ ≤ n × (B + 1)k Corollary: Π ≤ nn×(B+1)k When m < k: Λ ≤ n × 2mkm/2 k m

  • Bm

Thanks to Lˆ e Th` anh D¨ ung Nguyˆ en: Λ ≤ n × (B + 1)m

Model Bounds Counting in practice Conclusion 6/12

slide-13
SLIDE 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

slide-14
SLIDE 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

slide-15
SLIDE 15

Lower bound: (n − 1)2 < k case

Kn (1, 0, . . . , 0) (0, . . . , 0) Λ = (2B + 1)B(n−1)2−1, Π = (n − 1)(B−1)B(n−1)2−1

Model Bounds Counting in practice Conclusion 8/12

slide-16
SLIDE 16

Lower bound: (n − 1)2 < k case

Kn (1, 0, . . . , 0) (0, . . . , 0) Λ = (2B + 1)B(n−1)2−1, Π = (n − 1)(B−1)B(n−1)2−1

Model Bounds Counting in practice Conclusion 8/12

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 19

Markov chain example

(1)

Divergence: Π′ =

Π log(Π) Model Bounds Counting in practice Conclusion 11/12

slide-20
SLIDE 20

Markov chain example

(1)

Divergence: Π′ =

Π log(Π) Model Bounds Counting in practice Conclusion 11/12

slide-21
SLIDE 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

slide-22
SLIDE 22

Thank you for your attention

Model Bounds Counting in practice Conclusion 12/12