two approaches to inte terprocedural l data ta flow w
play

Two Approaches to Inte terprocedural l Data ta Flow w Analys - PowerPoint PPT Presentation

Two Approaches to Inte terprocedural l Data ta Flow w Analys lysis is Micha Sharir ir Amir Pnueli li Part Two: The Call String g Approach ch 12.06.2010 Nikolai Knopp 1 Recap cap Functional approach main p if a=0 T


  1. CS updat ate operat ation on ∘  ∘∶ Γ × 𝐹 ∗ → Γ updates call strings along edges 𝑛𝑏𝑗𝑜 𝑞 𝑞 = 〈𝑑 1 〉 𝜇 ∘ 𝑑 1 , 𝑠 𝑞 𝑑 1 𝑠 call 𝑞 1 𝑞 , 𝑑 2 = 〈𝑑 1 〉 𝑑 1 ∘ 𝑠 1. Interproc. 𝑞 = 〈𝑑 1 , 𝑑 2 〉 𝑑 1 ∘ 𝑑 2 , 𝑠 2. Call 𝑑 2 call 𝑞 1 3. Return 𝑜 2 𝑑 1 𝑑 2 ∘ 𝑓 𝑞 , 𝑜 2 = 𝑑 1 𝑑 1 ∘ 𝑜 2 ,𝑓 𝑞 = 〈𝑑 1 〉 𝑜 1 𝑓 𝑞 return 𝑑 1 ∘ 𝑓 𝑞 , 𝑜 1 = 𝜇 12.06.2010 Nikolai Knopp 29

  2. CS updat ate operat ation on ∘  ∘∶ Γ × 𝐹 ∗ → Γ updates call strings along edges 𝑛𝑏𝑗𝑜 𝑞 𝑞 = 〈𝑑 1 〉 𝜇 ∘ 𝑑 1 , 𝑠 𝑞 𝑑 1 𝑠 call 𝑞 1 𝑞 , 𝑑 2 = 〈𝑑 1 〉 𝑑 1 ∘ 𝑠 1. Interproc. 𝑞 = 〈𝑑 1 , 𝑑 2 〉 𝑑 1 ∘ 𝑑 2 , 𝑠 2. Call 𝑑 2 call 𝑞 1 3. Return 𝑜 2 4. invalid 𝑑 1 𝑑 2 ∘ 𝑓 𝑞 , 𝑜 2 = 𝑑 1 𝑑 1 ∘ 𝑓 𝑞 , 𝑜 2 undef. 𝑑 1 ∘ 𝑜 2 ,𝑓 𝑞 = 〈𝑑 1 〉 𝑜 1 𝑓 𝑞 return 𝑑 1 ∘ 𝑓 𝑞 , 𝑜 1 = 𝜇 𝑑 1 𝑑 2 ∘ 𝑓 𝑞 , 𝑜 1 undef. 12.06.2010 Nikolai Knopp 30

  3. CS updat ate operat ation on ∘  ∘∶ Γ × 𝐹 ∗ → Γ updates call strings along edges 𝑛𝑏𝑗𝑜 𝑞 𝑞 = 〈𝑑 1 〉 𝜇 ∘ 𝑑 1 , 𝑠 𝑞 𝑑 1 𝑠 call 𝑞 1 𝑞 undef. 𝑑 1 ∘ 𝑑 1 , 𝑠 𝑞 , 𝑑 2 = 〈𝑑 1 〉 𝑑 1 ∘ 𝑠 1. Interproc. 𝑞 = 〈𝑑 1 , 𝑑 2 〉 𝑑 1 ∘ 𝑑 2 , 𝑠 2. Call 𝑑 2 call 𝑞 1 3. Return 𝑜 2 4. invalid 𝑑 1 𝑑 2 ∘ 𝑓 𝑞 , 𝑜 2 = 𝑑 1 𝑑 1 ∘ 𝑓 𝑞 , 𝑜 2 undef. 𝑑 1 ∘ 𝑜 2 ,𝑓 𝑞 = 〈𝑑 1 〉 𝑜 1 𝑓 𝑞 return 𝑑 1 ∘ 𝑓 𝑞 , 𝑜 1 = 𝜇 𝑑 1 𝑑 2 ∘ 𝑓 𝑞 , 𝑜 1 undef. 12.06.2010 Nikolai Knopp 31

  4. ∘ consi sist stent with 𝐽𝑊𝑄  𝛿 ′ ∘ 𝑛, 𝑜 = 𝛿 only defined iff: 1. (By definition) A path 𝑟 ′ ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑛 exists with 𝐷𝑁 𝑟 ′ = 𝛿 ′ 2. (Lemma) 𝑟 = 𝑟 ′ ||(𝑛,𝑜) lies in 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 and 𝐷𝑁 𝑟 = 𝛿 ⇒ “ ∘ only updates and yields call strings for interprocedurally valid paths” 12.06.2010 Nikolai Knopp 32

  5. Edge effect cts s doma main 𝐺 ∗  𝐺 ∗ ≔ 𝑀 ∗ → 𝑀 ∗ embeds edge effects from 𝐺 into 𝑀 ∗ domain  For 𝑛, 𝑜 ∈ 𝐹 ∗ and data 𝜊 = . . , 𝛿 ′ , 𝑤 ′ , . . ∈ 𝑀 ∗ at 𝑛 , data at 𝑜 is 𝑔 𝑛,𝑜 ∗ 𝜊 = . . , 𝛿, 𝑤 ,. .  update each 𝛿 ′ to reflect 𝑛, 𝑜 taken: 𝛿 = 𝛿 ′ ∘ 𝑛,𝑜  propagate effect 𝑔 𝑛,𝑜 ∈ 𝑀 applied to each 𝑤 ′ : 𝑤 = 𝑔 𝑛,𝑜 𝑤 ′

  6. Edge effect cts s 𝑔 𝑛,𝑜 ∗ Defini nition: n: Let 𝑛, 𝑜 ∈ 𝐹 ∗ , 𝑔 𝑛,𝑜 ∈ 𝐺, 𝜊 ∈ 𝑀 ∗ . 𝑑 1 , 1 , 𝜊 a := a - 1 𝑑 1 𝑑 2 ,⊤ 𝑛 𝑔 𝑛,𝑑 2 call p 𝑑 2 12.06.2010 Nikolai Knopp 34

  7. Edge effect cts s 𝑔 𝑛,𝑜 ∗ Defini nition: n: Let 𝑛, 𝑜 ∈ 𝐹 ∗ , 𝑔 𝑛,𝑜 ∈ 𝐺, 𝜊 ∈ 𝑀 ∗ . 𝑑 1 , 1 , 𝜊 a := a - 1 𝑑 1 𝑑 2 ,⊤ 𝑛 𝑔 𝑛,𝑑 2 𝑑 1 , ⊤ , 𝜊 ∗ 𝑔 𝑛,𝑑 2 call p 𝑑 1 𝑑 2 ,⊤ 𝑑 2 12.06.2010 Nikolai Knopp 35

  8. Edge effect cts s 𝑔 𝑛,𝑜 ∗ Defini nition: n: Let 𝑛, 𝑜 ∈ 𝐹 ∗ , 𝑔 𝑛,𝑜 ∈ 𝐺, 𝜊 ∈ 𝑀 ∗ . 𝜊 𝑑 1 𝑑 1 , 1 , 𝜊 a := a - 1 𝑑 1 𝑑 2 ,⊤ 𝑛 𝑔 𝑛,𝑑 2 ∗ 𝑑 1 , ⊤ , 𝑔 𝑛,𝑑 2 𝜊 𝑑 1 𝜊 ∗ 𝑔 𝑛,𝑑 2 call p 𝑑 1 𝑑 2 ,⊤ 𝑑 2 if ∃𝛿 ′ with ∀ 𝛿 ∈ Γ 𝛿 = 𝛿 ′ ∘ 𝑛, 𝑜 𝜊 𝛿′ 𝑔 𝑛,𝑜 𝜊 𝛿 ∗ 𝑔 𝑛,𝑜 ≔ ⊥ else 12.06.2010 Nikolai Knopp 36

  9. Edge effect cts s doma main 𝐺 ∗ Define 𝐺 ∗ ⊆ 𝑀 ∗ → 𝑀 ∗ such that 𝐺 ∗ smallest set containing 1. | 𝑛, 𝑜 ∈ 𝐹 ∗ ∪ 𝑗𝑒 𝑀 ∗ ∗ 𝑔 𝑛,𝑜 𝐺 ∗ closed under functional composition and ⋀ 2.

  10. Lemm mma: a: Prop operties s of 𝐺 ∗ monotone monotone distributive in 𝑀 ⇒ 𝐺 ∗ distributive in 𝑀 ∗ 𝐺 1. 𝐺 distributive in 𝑀 ⇒ 𝐺 ∗ continuo nuous us in 𝑀 ∗ : 2. For an infinite collection 𝜊 𝑙 𝑙≥1 ⊆ 𝑀 ∗ and 𝑛, 𝑜 ∈ 𝐹 ∗ : ∗ ∗ 𝑔 𝑛,𝑜 𝜊 𝑙 = 𝑔 𝑛,𝑜 𝜊 𝑙 𝑙 𝑙 12.06.2010 Nikolai Knopp 38

  11. Dataf aflow equat ations ons 𝑦 𝑜 ∗  The dataflow problem for 𝐺 ∗ ,𝑀 ∗ : ∗  𝑦 𝑠 𝑛𝑏𝑗𝑜 = 𝜇, ⊤ ∗ = ⋀ 𝑜 ∈ 𝑂 ∗ − 𝑠 𝑛𝑏𝑗𝑜 ∗ ∗  𝑦 𝑜 𝑔 𝑛,𝑜 𝑦 𝑛 𝑛,𝑜 ∈𝐹 ∗  Claim: ∃ maximum fixed-point solution ( MFP MFP CS CS ) for 𝑜∈𝑂 ∗ ∗ 𝑦 𝑜 12.06.2010 Nikolai Knopp 40

  12. Proo oof: Exist stence ce of max. FP solution on  Iteratively solving the equations yields decreasing ( 𝐺 ∗ monotone) chains ∗ 𝑗 ≥ 𝑦 𝑜 ∗ 𝑗+1 ∀𝑜 ∈ 𝑂 ∗ . 𝑦 𝑜 Then ∀𝛿 ∈ Γ ∗ 𝑗 𝛿 ≥ 𝑦 𝑜 ∗ 𝑗+1 𝛿 𝑦 𝑜 ∗ 𝛿 (exists as a decreasing chain in 𝑀 with limit lim𝑦 𝑜 𝑀 bounded). ∗ 𝑗 possibly infinite but well-defined ∗ ≔ lim  𝑦 𝑜 𝑗→∞ 𝑦 𝑜 𝑜∈𝑂 ∗ is maximal FP solution to DF problem. ∗ ⇒ 𝑦 𝑜 12.06.2010 Nikolai Knopp 41

  13. Maximum mum FP solution on of (𝑀 ∗ , 𝐺 ∗ )  Initialise 𝑦 𝑜 𝑜∈𝑂 ∗ with ∗ ∗ 0  𝑦 𝑠 𝑛𝑏𝑗𝑜 = 𝜇, ⊤ ∗ 0 = ⊥ ∗ 𝑜 ∈ 𝑂 ∗ − 𝑠 𝑛𝑏𝑗𝑜  𝑦 𝑜  Result if Γ  finite te: Any iterative algorithm terminates and reaches MFP.  infini nite te: Iteration may diverge, intermediate steps unsafe approx. of MFP 12.06.2010 Nikolai Knopp 42

  14. Exam ample main p 𝑞 if a=0 T 𝑠 read a, b F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 call p 𝑑 2 call p 12.06.2010 Nikolai Knopp 43

  15. Exam ample main p 𝑞 if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 call p 𝑑 2 call p 12.06.2010 Nikolai Knopp 44

  16. Exam ample main p 𝑞 if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 call p 12.06.2010 Nikolai Knopp 45

  17. Exam ample main p 𝑞 〈𝑑 1 〉,1 if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 call p 12.06.2010 Nikolai Knopp 46

  18. Exam ample main p 𝑞 〈𝑑 1 〉,1 if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 〈𝑑 1 〉,1 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 call p 12.06.2010 Nikolai Knopp 47

  19. Exam ample main p 𝑞 〈𝑑 1 〉,1 if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 〈𝑑 1 〉,1 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 𝑑 1 ,⊤ call p 12.06.2010 Nikolai Knopp 48

  20. Exam ample main p 〈𝑑 1 〉, 1 , 𝑞 𝑑 1 𝑑 2 , ⊤ if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 ∗ 𝑜 2 〈𝑑 1 〉,1 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 𝑑 1 ,⊤ call p 12.06.2010 Nikolai Knopp 49

  21. Exam ample main p 〈𝑑 1 〉, 1 , 𝑞 𝑑 1 𝑑 2 , ⊤ if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 𝑑 2 𝑑 1 ,⊤ call p 12.06.2010 Nikolai Knopp 50

  22. Exam ample main p 〈𝑑 1 〉, 1 , 𝑞 𝑑 1 𝑑 2 , ⊤ if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p 12.06.2010 Nikolai Knopp 51

  23. Exam ample main p 〈𝑑 1 〉,1 , 𝑞 𝑑 1 𝑑 2 ,⊤ , if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑑 1 𝑑 2 𝑑 2 , ⊤ 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p 12.06.2010 Nikolai Knopp 52

  24. Exam ample main p 〈𝑑 1 〉,1 , 𝑞 𝑑 1 𝑑 2 ,⊤ , if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑑 1 𝑑 2 𝑑 2 , ⊤ 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p ... 12.06.2010 Nikolai Knopp 53

  25. Chap apter summ mmar ary Call string ng approach: ch:  New dataflow problem on top of (𝑀, 𝐺)  Data “tagged” with propagation history  Interprocedural flow explicit  Existence of MFP CS  No functional compositions  Only iteratively computable if Γ finite 12.06.2010 Nikolai Knopp 54

  26. Struct cture 1. Definition of a new DF problem (𝑀 ∗ , 𝐺 ∗ ) n to 𝑴 ∗ , 𝑮 ∗ ≡ MOP solution 2. Proof: Solut ution 2. 3. Feasibility and precise variants 4. Approximative solution 12.06.2010 Nikolai Knopp 55

  27. MOP P solution on and MFP CS CS  This chapter: Show that MOP solution 𝑧 𝑜 = 𝑔 𝑟 : 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 ,𝑜 ⊤ can be acquired from MFP CS .  Chapter outline: 1. Define MOP CS 2. Show MOP CS = MFP CS ′ ∈ 𝑀 from MFP CS 3. Extract results 𝑦 𝑜 ′ = MOP 4. Using MOP CS and MFP CS , show 𝑦 𝑜 12.06.2010 Nikolai Knopp 56

  28. MOP P solution on for call strings s (MOP CS CS )  Propagation of data along paths in 𝐻 ∗ For 𝑟 = 𝑠 𝑛𝑏𝑗𝑜 , 𝑡 1 , … ,𝑡 𝑙 ,𝑜 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ : ∗ ≔ 𝑔 𝑡 𝑙 ,𝑜 ∗ ∗ ∗ ∗ 𝑔 ∘ 𝑔 𝑡 𝑙−1 ,𝑡 𝑙 ∘ ⋯∘ 𝑔 𝑡 1 ,𝑡 2 ∘ 𝑔 𝑟 (𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 )  Call string MOP solution ( MOP CS CS ) ∗ ≔ ⋀ 𝑔 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∀𝑜 ∈ 𝑂 ∗ : 𝑧 𝑜 ∗ ∶ 𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 𝑟 𝑛𝑏𝑗𝑜 𝑛𝑏𝑗𝑜 𝑠 ∗ ∗ … 𝑔 𝑔 𝑟 1 𝑟 2 𝑜 12.06.2010 Nikolai Knopp 57

  29. MOP P solution on for call strings s (MOP CS CS )  Propagation of data along paths in 𝐻 ∗ For 𝑟 = 𝑠 𝑛𝑏𝑗𝑜 , 𝑡 1 , … ,𝑡 𝑙 ,𝑜 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ : ∗ ≔ 𝑔 𝑡 𝑙 ,𝑜 ∗ ∗ ∗ ∗ 𝑔 ∘ 𝑔 𝑡 𝑙−1 ,𝑡 𝑙 ∘ ⋯∘ 𝑔 𝑡 1 ,𝑡 2 ∘ 𝑔 𝑟 (𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 )  Call string MOP solution ( MOP CS CS ) ∗ ≔ ⋀ 𝑔 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∀𝑜 ∈ 𝑂 ∗ : 𝑧 𝑜 ∗ ∶ 𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 𝑟 𝑞𝑏𝑢ℎ 𝐻 ∗ ⊇ 𝐽𝑊𝑄 𝑛𝑏𝑗𝑜 𝑛𝑏𝑗𝑜 𝑠 ∗ ∗ … ? 𝑔 𝑔 𝑟 1 𝑟 2 𝑜 12.06.2010 Nikolai Knopp 58

  30. Valid – pat ath-only prop opag agat ation on Lemma: : Let 𝑜 ∈ 𝑂 ∗ ,𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ 𝑠 𝑛𝑏𝑗𝑜 ,𝑜 , 𝛿 ∈ Γ . Then 𝑛𝑏𝑗𝑜 , 𝑜 and 𝐷𝑁 𝑟 = γ 𝑟 ∈ 𝐽𝑊𝑄 𝑠 1. ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝛿 defined ∗ ⇔ 𝑔 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗ 𝑔 𝛿 = 𝑔 𝑟 ⊤ 2. 𝑟 ⇒ “MOP CS only contains paths in 𝐽𝑊𝑄 and for each such 𝑞 yields the same result as 𝑀, 𝐺 ” 12.06.2010 Nikolai Knopp 59

  31. Valid – pat ath-only prop opag agat ation on (Proo oof) By induc uction on 𝑚 𝑟 for 𝑟 = (𝑠 𝑛𝑏𝑗𝑜 , 𝑡 1 ,… ,𝑡 𝑙 , 𝑜) :  𝒎 𝒓 = 𝟏 : Let 𝑜 ∈ 𝑂 ∗ . 𝑛𝑏𝑗𝑜 ⇒ 𝐷𝑁 𝑟 = 𝜇 . 𝑟 = 𝑠 𝑛𝑏𝑗𝑜 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 ,𝑠 ∗ 𝑠 only def. for 𝜇 with ⊤ = 𝑔 𝑟 ⊤ . 𝑔 𝑛𝑏𝑗𝑜 = 𝜇, ⊤ 𝑟  IH: Iff 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 < 𝑙 and 𝛿 = 𝐷𝑁 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 then 𝑔 𝑞 ⊤ . ∗ 𝜇 = 𝑔 𝑟 12.06.2010 Nikolai Knopp 60

  32. Valid – pat ath-only prop opag agat ation on (Proo oof)  IH: Iff 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 < 𝑙 and 𝛿 = 𝐷𝑁 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 then 𝑔 𝑞 ⊤ ∗ 𝜇 = 𝑔 𝑟  IS: 𝑚 𝑟 = 𝑙 . 𝑛𝑏𝑗𝑜 𝑠 ... 𝑡 𝑙−1 𝑟 𝑡 𝑙 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝛿 ∗ ∗ 𝑜 ≝ 𝑔 𝑡 𝑙 ,𝑜 𝑦 𝑡 𝑙 𝑔 𝑟 12.06.2010 Nikolai Knopp 61

  33. Valid – pat ath-only prop opag agat ation on (Proo oof)  IH: Iff 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 < 𝑙 and 𝛿 = 𝐷𝑁 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 then 𝑔 𝑞 ⊤ ∗ 𝜇 = 𝑔 𝑟  IS: 𝑚 𝑟 = 𝑙 . 𝑛𝑏𝑗𝑜 𝑠 ... 𝛿 ′ = 𝐷𝑁 𝑟 ′ 𝛿 = 𝛿 ′ ∘ 𝑛, 𝑜 , 𝑟 ′ 𝑡 𝑙−1 𝑟 𝛿 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝑡 𝑙 ∗ 𝑔 𝑟 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝛿 ∗ ∗ 𝑜 ≝ 𝑔 𝑡 𝑙 ,𝑜 𝑦 𝑡 𝑙 𝑔 𝑟 12.06.2010 Nikolai Knopp 62

  34. Valid – pat ath-only prop opag agat ation on (Proo oof)  IH: Iff 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 < 𝑙 and 𝛿 = 𝐷𝑁 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 then 𝑔 𝑞 ⊤ ∗ 𝜇 = 𝑔 𝑟  IS: 𝑚 𝑟 = 𝑙 . 𝑛𝑏𝑗𝑜 𝑠 ... 𝛿 ′ = 𝐷𝑁 𝑟 ′ 𝛿 = 𝛿 ′ ∘ 𝑛, 𝑜 , 𝑟 ′ 𝑡 𝑙−1 𝑟 𝛿 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 = 𝑱𝑰 𝑔 𝑟 ′ ⊤ 𝑡 𝑙 ∗ 𝑔 𝑟 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝛿 ∗ ∗ 𝑜 ≝ 𝑔 𝑡 𝑙 ,𝑜 𝑦 𝑡 𝑙 𝑔 𝑟 12.06.2010 Nikolai Knopp 63

  35. Valid – pat ath-only prop opag agat ation on (Proo oof)  IH: Iff 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 < 𝑙 and 𝛿 = 𝐷𝑁 𝑟 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 then 𝑔 𝑞 ⊤ ∗ 𝜇 = 𝑔 𝑟  IS: 𝑚 𝑟 = 𝑙 . 𝑛𝑏𝑗𝑜 𝑠 ... 𝛿 ′ = 𝐷𝑁 𝑟 ′ 𝛿 = 𝛿 ′ ∘ 𝑛, 𝑜 , 𝑟 ′ 𝑡 𝑙−1 𝑟 𝛿 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 = 𝑱𝑰 𝑔 𝑟 ′ ⊤ 𝑡 𝑙 ∗ 𝑔 𝑟 ′ ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 𝑟 ⊤ 𝛿 ∗ 𝑜 = 𝑔 𝑡 𝑙 ,𝑜 𝑔 𝑟 ′ ⊤ ≝ 𝑔 𝑔 ∎ 𝑟 12.06.2010 Nikolai Knopp 64

  36. ∗ = 𝑧 𝑜 MFP CS = MOP CS CS : : 𝑦 𝑜 ∗ ∗ = 𝑧 𝑜 Theorem: (𝑀, 𝐺) distributive ⇒ ∀𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 ∗ Proof: ∗ : Let 𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ = 𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 , … , 𝑡 𝑙 , 𝑜 . ∗ ≤ 𝒛 𝒐  𝒚 𝒐 𝑛𝑏𝑗𝑜 𝑠 : 𝑟 ∗ ≤ 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 ∗ 𝑢 𝑡 1 ∗ 𝑦 𝑡 1 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗ ≤ 𝑔 𝑡 1 ,𝑡 2 ∗ ∗ 𝑡 2 𝑦 𝑡 2 𝑦 𝑡 1 ... ∗ ∗ ≤ 𝑔 𝑡 𝑙 ,𝑜 ∗ 𝑜 𝑦 𝑜 𝑦 𝑡 𝑙 12.06.2010 Nikolai Knopp 65

  37. ∗ = 𝑧 𝑜 MFP CS = MOP CS CS : : 𝑦 𝑜 ∗ ∗ = 𝑧 𝑜 Theorem: (𝑀, 𝐺) distributive ⇒ ∀𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 ∗ Proof: ∗ : Let 𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ = 𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 , … , 𝑡 𝑙 , 𝑜 . ∗ ≤ 𝒛 𝒐  𝒚 𝒐 𝑛𝑏𝑗𝑜 𝑠 : 𝑟 ∗ ≤ 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑡 1 ∗ 𝑢 𝑡 1 ∗ 𝑦 𝑡 1 𝑦 𝑠 𝑛𝑏𝑗𝑜 By monotonicity ∗ ≤ 𝑔 𝑡 1 ,𝑡 2 ∗ ∗ 𝑡 2 𝑦 𝑡 2 𝑦 𝑡 1 ∗ ≤ 𝑔 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗ ⇒ 𝑦 𝑜 ... 𝑟 ∗ 𝑁𝑃𝑄 𝐷𝑇 = ⋀ 𝑔 ∗ 𝑟 𝑟 ∗ ≤ 𝑔 𝑡 𝑙 ,𝑜 ∗ 𝑜 𝑦 𝑜 𝑦 𝑡 𝑙 ∗ ≤ ⋀ 𝑔 ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗ ⇒ 𝑦 𝑜 𝑟 𝑟 12.06.2010 Nikolai Knopp 66

  38. ∗ = 𝑧 𝑜 MFP CS = MOP CS CS : : 𝑦 𝑜 ∗ ∗ ≥ 𝒛 𝒐 ∗ :  𝒚 𝒐 ∗ 𝑗 ≥ 𝑧 𝑜 By induction on 𝑗: ∀𝑗 ≥ 0, 𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 ∗  𝒋 = 𝟏 : ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗(0) ∗ ∗ 𝑜 = 𝑠 𝑛𝑏𝑗𝑜 ∶ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ≝ 𝜇, ⊤ = 𝑔 ≥ 𝑧 𝑠 𝑛𝑏𝑗𝑜 𝑟 0 ∗ 0 ≝ ⊥ ∗ ≥ 𝑧 𝑜 ∗ 𝑜 ≠ 𝑠 𝑛𝑏𝑗𝑜 ∶ 𝑦 𝑜  IH: ∗ 𝑗 ≥ 𝑧 ∗ ∀𝑗 ≤ 𝑙, 𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 𝑜  IS: Cont.+Dist. of 𝑔 𝑛,𝑜 ∗ IH ∗ 𝑙+1 ≝ ∗ ∗ 𝑙 ∗ ∗ ∗ 𝑦 𝑜 𝑔 𝑛,𝑜 𝑦 𝑛 𝑔 𝑛,𝑜 𝑧 𝑛 ≥ 𝑧 𝑜 ≥ 𝑛,𝑜 ∈𝐹 ∗ 𝑛,𝑜 ∈𝐹 ∗ ∎ 12.06.2010 Nikolai Knopp 67

  39. Resu sult for 𝑀, 𝐺 from om MFP CS CS ′ ∈ 𝑀 as follows: Define 𝑦 𝑜 ′ ≔ 𝑦 𝑜 ∗ 𝛿 𝑦 𝑜 𝛿∈Γ ′ = 𝑦 𝑜 ∗ 𝜇 ∧ 𝑦 𝑜 ∗ 𝑦 𝑜 𝑑 1 ∧ 𝑑 1 ,1 , ∗ 𝑦 𝑜 𝑑 1 𝑑 2 ∧ ⋯ 𝑑 1 𝑑 2 , ⊤ , ∗ 𝑜 = 𝑦 𝑜 a := a - 1 = ⊥ ∧ 1 ∧ ⊤ ∧ ⋯ 𝑑 1 𝑑 2 𝑑 2 ,⊤ , = 1 ∧ ⊤ ∧ ⋯ = ⊤ … ′ is the MOP solution in (𝑀, 𝐺) Claim: 𝑦 𝑜 12.06.2010 Nikolai Knopp 68

  40. MFP CS CS ≡ MOP ′ = 𝑧 𝑜 Theorem: For each 𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 Proof: ′ ′ Def 𝑦 𝑜 ∗ (𝛿) 𝑦 𝑜 = 𝑦 𝑜 𝛿∈Γ MFP CS = ∗ 𝑦 𝑠 𝑛𝑏𝑗𝑜 ∗ = 𝑔 𝛿 |𝑟 ∈ 𝑞𝑏𝑢ℎ 𝐻 ∗ (𝑠 𝑛𝑏𝑗𝑜 ,𝑜) MOP CS 𝑟 𝛿∈Γ Only-valid-path = 𝑔 𝑟 ⊤ |𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 sth. 𝐷𝑁 𝑟 = 𝛿 propag. Lemma 𝛿∈Γ 𝐷𝑁 −1 Γ ∩ 𝐽𝑊𝑄 = 𝑔 𝑟 ⊤ |𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 = 𝐽𝑊𝑄 = 𝑧 𝑜 ∎ 12.06.2010 Nikolai Knopp 69

  41. Chap apter summ mmar ary  Shown:  Get MOP solution from MFP CS ′ straightforward and without ∗ → 𝑦 𝑜  Conversion 𝑦 𝑜 functional composition ⇒ Call string approach is actually useful  But: Computing MFP CS still problematic 12.06.2010 Nikolai Knopp 70

  42. Struct cture 1. Definition of a new DF problem (𝑀 ∗ , 𝐺 ∗ ) 2. Proof: Solution to 𝑀 ∗ ,𝐺 ∗ ≡ MOP solution 3. Feasibility and preci cise variant nts 3. 4. Approximative solution 12.06.2010 Nikolai Knopp 71

  43. Motivat ation  Observation: 𝑀 finite ⇒ functional approach converges, CS approach not necessarily  Idea: Ensure termination of CS approach by limiting to finite CS subset Γ 0 ⊆ Γ  Show: Can be done for all (𝑀, 𝐺) with finite 𝑀 without losing precision 12.06.2010 Nikolai Knopp 72

  44. Redefinitions ons using Γ 𝑝  Γ 0 is finite subset of Γ fulfilling: If 𝛿 ∈ Γ 0 and 𝛿 ′ initial subtuple of 𝛿 ⇒ 𝛿 ′ ∈ Γ 0  𝐽𝑊𝑄 ′ ≔ 𝑟 ∈ 𝐽𝑊𝑄 | ∀ prefix 𝑟 ′ of 𝑟: 𝐷𝑁 𝑟 ′ ∈ Γ 0  Let ∘ 0 only act in Γ 0  discards 𝛿 ′ entirely iff 𝛿 ′ ∘ 0 𝑛,𝑜 ∉ Γ 0  ∘ 0 is consistent with 𝐽𝑊𝑄 ′ 12.06.2010 Nikolai Knopp 73

  45. Definitions: ons: DF anal alysis s with Γ 0 ∗ with 𝑀 0 ∗ ,𝐺 0 ∗ ≔ Γ 0 → 𝑀 finite Now consider 𝑀 0  Dataflow equations now iteratively solvable ∗ 𝛿 ( MFP CS0 ) ′ 𝑦 𝑜 0 ≔ 𝑦 𝑜 𝛿∈Γ 0  MOP solution using only paths in 𝐽𝑊𝑄 ′ 𝑟 0 | 𝑟 ∈ 𝐽𝑊𝑄 ′ 𝑠 ( MOP CS0 ) ′ 𝑧 𝑜 0 ≔ 𝑔 𝑛𝑏𝑗𝑜 , 𝑜 12.06.2010 Nikolai Knopp 74

  46. MOP CS0 = MFP CS0 Theorem: ∀𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 ′ ′ 0 = 𝑧 𝑜 0 Proof:  Completely analogous to MOP CS =MFP CS proof by replacing Γ, 𝐽𝑊𝑄,∘ by Γ 0 , 𝐽𝑊𝑄 ′ ,∘ 0  No reasoning about infinite meets or continuity of 𝐺 0 ∗ required ∎ 12.06.2010 Nikolai Knopp 75

  47. Motivat ation: CS of limi mited length main p 〈𝑑 1 〉, 1 , 𝑞 𝑑 1 𝑑 2 , ⊤ if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p 12.06.2010 Nikolai Knopp 76

  48. Motivat ation: CS of limi mited length main p 〈𝑑 1 〉,1 , 𝑞 𝑑 1 𝑑 2 ,⊤ , if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑑 1 𝑑 2 𝑑 2 , ⊤ 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p 12.06.2010 Nikolai Knopp 77

  49. Motivat ation: CS of limi mited length main p 〈𝑑 1 〉,1 , 𝑞 𝑑 1 𝑑 2 ,⊤ , if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑑 1 𝑑 2 𝑑 2 , ⊤ 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉,1 , ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 𝑑 1 𝑑 2 ,⊤ , 𝑑 1 𝑑 2 𝑑 2 , ⊤ ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p 12.06.2010 Nikolai Knopp 78

  50. Motivat ation: CS of limi mited length main p 〈𝑑 1 〉,1 , 𝑞 𝑑 1 𝑑 2 ,⊤ , if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑑 1 𝑑 2 𝑑 2 , ⊤ 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉,1 , ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 𝑑 1 𝑑 2 ,⊤ , 𝑑 1 𝑑 2 𝑑 2 , ⊤ ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉,1 , 𝑑 2 𝑑 1 𝑑 2 ,⊤ , call p 𝑑 1 𝑑 2 𝑑 2 , ⊤ 12.06.2010 Nikolai Knopp 79

  51. Motivat ation: CS of limi mited length 〈𝑑 1 〉, 1 , main p 𝑑 1 𝑑 2 ,⊤ , 𝑞 if a=0 T 𝑠 read a, b 𝜇, ⊤ 𝑑 1 𝑑 2 𝑑 2 , ⊤ , F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑑 1 𝑑 2 𝑑 2 𝑑 2 ,⊤ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉,1 , ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 𝑑 1 𝑑 2 ,⊤ , 𝑑 1 𝑑 2 𝑑 2 , ⊤ ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉,1 , 𝑑 2 𝑑 1 𝑑 2 ,⊤ , call p 𝑑 1 𝑑 2 𝑑 2 , ⊤ 12.06.2010 Nikolai Knopp 80

  52. Motivat ation: CS of limi mited length 〈𝑑 1 〉, 1 , main p 𝑑 1 𝑑 2 ,⊤ , 𝑞 if a=0 T 𝑠 read a, b 𝜇, ⊤ 𝑑 1 𝑑 2 𝑑 2 , ⊤ , F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑑 1 𝑑 2 𝑑 2 𝑑 2 ,⊤ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉,1 , ∗ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 𝑑 1 𝑑 2 ,⊤ , 𝑑 1 𝑑 2 𝑑 2 , ⊤ ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉,1 , 𝑑 2 𝑑 1 𝑑 2 ,⊤ , call p 𝑑 1 𝑑 2 𝑑 2 , ⊤  No information gain on further iteration  Stop if data tagged by longer CS „irrelevant“ 12.06.2010 Nikolai Knopp 81

  53. Motivat ation: CS of limi mited length main p 〈𝑑 1 〉, 1 , 𝑞 𝑑 1 𝑑 2 , ⊤ if a=0 T 𝑠 read a, b 𝜇, ⊤ F t := a * b 𝑛𝑏𝑗𝑜 𝑠 ∗ 𝑔 𝑠 𝑞 ,𝑜 2 〈𝑑 1 〉, 1 , ∗ 𝑑 1 𝑑 2 , ⊤ 𝑜 2 𝑔 𝑠 𝑛𝑏𝑗𝑜 ,𝑑 1 a := a - 1 ∗ ∗ ∗ 𝑔 𝑑 1 ,𝑠 𝑞 𝑔 𝑑 2 ,𝑠 𝑞 𝑔 𝑜 2 ,𝑑 2 𝑑 1 𝜇, 1 call p 〈𝑑 1 〉, 1 , 𝑑 2 𝑑 1 𝑑 2 , ⊤ call p  No information gain on further iteration  Stop if data tagged by longer CS „irrelevant“ 12.06.2010 Nikolai Knopp 82

  54. Redundan ant inform ormat ation on in anal alysis  Why paths of arbitrary length?  𝐿 ≔ number of call sites in program ∈ ℕ ⇒ only possible by recurring on call site(s)  At each call, analysis arrives with value 𝑦 ∈ 𝑀 and returns with value 𝑧 ∈ 𝑀 . 𝑀 is finite ⇒ 𝑀 2 many distinct begin/end value combinations per call  Idea: Recurring on any of the 𝐿 calls more than 𝑀 2 times is redundant. 12.06.2010 Nikolai Knopp 83

  55. Lemm mma: a: Path short ortening Let 𝑛𝑏𝑗𝑜 𝑞 1  (𝑀, 𝐺) with 𝑀 finite  𝑁 ≔ 𝐿 ∗ 𝑀 2 𝑞 2 𝑑 1 call 𝑞 1 𝑠  𝐿 ≔ # call blocks in 𝐻 ∗  Γ 0 = Γ 𝑁 . 𝑑 2 call 𝑞 1 Then ∀ 𝑜 ∈ 𝑂 ∗ : 𝑜 2 If 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 then exists 𝑟 ′ ∈ 𝐽𝑊𝑄 ′ (𝑠 𝑛𝑏𝑗𝑜 , 𝑜) with 𝑜 1 𝑓 𝑞 2 𝑟 0 = 𝑔 𝑟 ′ 0 . 𝑔 return 12.06.2010 Nikolai Knopp 84

  56. Lemm mma: a: Path short ortening Let 𝑛𝑏𝑗𝑜 𝑞 1  (𝑀, 𝐺) with 𝑀 finite  𝑁 ≔ 𝐿 ∗ 𝑀 2 𝑞 2 𝑑 1 call 𝑞 1 𝑠  𝐿 ≔ # call blocks in 𝐻 ∗  Γ 0 = Γ 𝑁 . 𝑑 2 call 𝑞 1 𝑟 Then ∀ 𝑜 ∈ 𝑂 ∗ : 𝑜 2 If 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 then exists 𝑟 ′ ∈ 𝐽𝑊𝑄 ′ (𝑠 𝑛𝑏𝑗𝑜 , 𝑜) with 𝑜 1 𝑓 𝑞 2 𝑟 0 = 𝑔 𝑟 ′ 0 . 𝑔 return 12.06.2010 Nikolai Knopp 85

  57. Lemm mma: a: Path short ortening Let 𝑛𝑏𝑗𝑜 𝑞 1  (𝑀, 𝐺) with 𝑀 finite  𝑁 ≔ 𝐿 ∗ 𝑀 2 𝑞 2 𝑑 1 call 𝑞 1 𝑠  𝐿 ≔ # call blocks in 𝐻 ∗  Γ 0 = Γ 𝑁 . 𝑑 2 call 𝑞 1 𝑟 ′ Then ∀ 𝑜 ∈ 𝑂 ∗ : 𝑜 2 If 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 then exists 𝑟 ′ ∈ 𝐽𝑊𝑄 ′ (𝑠 𝑛𝑏𝑗𝑜 , 𝑜) with 𝑜 1 𝑓 𝑞 2 𝑟 0 = 𝑔 𝑟 ′ 0 . 𝑔 return 12.06.2010 Nikolai Knopp 86

  58. Lemm mma: a: Path short ortening (proo oof)  Proof: By induction on 𝑚(𝑟) ≔ length of 𝑟 .  𝒎 𝒓 = 𝟏 : 𝜇 ∈ Γ and 𝜇 ∈ Γ 0 .  IH: Lemma holds for all paths with 𝑚 𝑟 < 𝑙, 𝑙 ∈ ℕ + .  IS: Let 𝑜 ∈ 𝑂 ∗ , 𝑟 ∈ 𝐽𝑊𝑄 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 , 𝑚 𝑟 = 𝑙. Assume 𝑟 ∉ 𝐽𝑊𝑄 ′ 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 . Let 𝑟 ′ the shortest prefix with 𝑟 ′ ∉ 𝐽𝑊𝑄 ′ 𝑠 𝑛𝑏𝑗𝑜 , 𝑜 . Then 𝑟′ contains 𝑁 + 1 unreturned calls. By decomposition Lemma: 𝑟 ′ = 𝑟 0 || 𝑑 1 , 𝑠 𝑞 𝑁+1 ||𝑟 𝑁+1 𝑞1 ||𝑟 1 || 𝑑 2 , 𝑠 𝑞2 || … || 𝑑 𝑁+1 , 𝑠 12.06.2010 Nikolai Knopp 87

  59. Lemm mma: a: Path short ortening (proo oof) 𝑟 ′ = 𝑟 0 || 𝑑 1 , 𝑠 𝑞 𝑁+1 ||𝑟 𝑁+1 𝑞1 ||𝑟 1 || 𝑑 2 , 𝑠 𝑞2 || … || 𝑑 𝑁+1 , 𝑠  𝑁 + 1 calls, but max. 𝑁 distinct elements. Let 𝑑 , 𝑠 𝑞 a duplicate call. If 𝑑 returns, let 𝑓 𝑞 , 𝑜 the return edge.  Rewrite 𝑟 as ′ || 𝑓 𝑞 ′ || 𝑑 , 𝑠 𝑞 ′ || 𝑑 , 𝑠 𝑞 ′ || 𝑓 𝑞 ′ 𝑟 0 || 𝑟 1 || 𝑟 2 , 𝑜 || 𝑟 3 ,𝑜 || 𝑟 4  Shorter 𝑟 𝑛𝑏𝑗𝑜 , 𝑜 with 𝑔 𝑟 by dropping ∈ 𝐽𝑊𝑄 𝑠 = 𝑔 𝑟 redundant parts IH, ∃𝑟 ′ ∈ 𝐽𝑊𝑄 ′ 𝑠  By IH 𝑛𝑏𝑗𝑜 ,𝑜 for 𝑟 with 𝑔 𝑟 ′ = 𝑔 and thus 𝑟 𝑟 . 𝑔 𝑟 ′ = 𝑔 ∎ 12.06.2010 Nikolai Knopp 88

  60. Lemm mma: a: Path short ortening (proo oof) 𝑟 ′ = 𝑟 0 || 𝑑 1 , 𝑠 𝑞 𝑁+1 ||𝑟 𝑁+1 𝑞1 ||𝑟 1 || 𝑑 2 , 𝑠 𝑞2 || … || 𝑑 𝑁+1 , 𝑠  𝑁 + 1 calls, but max. 𝑁 distinct elements. Let 𝑑 , 𝑠 𝑞 a duplicate call. If 𝑑 returns, let 𝑓 𝑞 , 𝑜 the return edge.  Rewrite 𝑟 as ′ || 𝑓 𝑞 ′ || 𝑑 , 𝑠 𝑞 ′ || 𝑑 , 𝑠 𝑞 ′ || 𝑓 𝑞 ′ 𝑟 0 || 𝑟 1 || 𝑟 2 , 𝑜 || 𝑟 3 ,𝑜 || 𝑟 4  Shorter 𝑟 𝑛𝑏𝑗𝑜 , 𝑜 with 𝑔 𝑟 by dropping ∈ 𝐽𝑊𝑄 𝑠 = 𝑔 𝑟 redundant parts IH, ∃𝑟 ′ ∈ 𝐽𝑊𝑄 ′ 𝑠  By IH 𝑛𝑏𝑗𝑜 ,𝑜 for 𝑟 with 𝑔 𝑟 ′ = 𝑔 and thus 𝑟 𝑟 . 𝑔 𝑟 ′ = 𝑔 ∎ 12.06.2010 Nikolai Knopp 89

  61. MOP CS0 =MOP  For 𝑁 ∈ ℕ ≥ 0 , define Γ 𝑁 as set of all 𝛿 ∈ Γ with length ≤ 𝑁 .  Theorem: Let 𝑀, 𝐺 a distributive DF framework with 𝑀 finite, and Γ 0 = Γ 𝑁 with 𝑁 = 𝐿 ∗ 𝑀 2 . Then 0 = 𝑧 𝑜 ∀𝑜 ∈ 𝑂 ∗ : 𝑦 𝑜 ′ ⇒ “If 𝛿 is too long and gets discarded, a shorter one in the set represents the same data.” 12.06.2010 Nikolai Knopp 90

  62. Better bounds s for 𝑁  𝑁 impractically large for most problems  Lower bounds exists for certain problem classes. Example: Decomposable frameworks 12.06.2010 Nikolai Knopp 91

  63. Decom omposab sable fram amework orks main p read a,b 𝑞 if … T 𝑠 t := a * b F 𝑛𝑏𝑗𝑜 𝑠 u := 2 * b a := a - 1 𝑑 1 call p 𝑑 2 call p t := a * b a*b,2*b 𝑜 2 avail.? b := b + 1 u := 2 * b t := a * b print t,u 𝑓 𝑛𝑏𝑗𝑜 𝑓 𝑞 stop return , 𝑢 , 𝑣 , 𝑢, 𝑣 , ⊥ 𝑁 = 50 𝑀 = 12.06.2010 Nikolai Knopp 92

  64. Decom omposab sable fram amework orks main p read a,b 𝑞 if … T 𝑠 t := a * b F 𝑛𝑏𝑗𝑜 𝑗𝑒 𝑠 u := 2 * b +𝑢 + 𝑣 a := a - 1 𝑑 1 −𝑢 call p 𝑑 2 𝑗𝑒 call p t := a * b a*b,2*b 𝑜 2 avail.? b := b + 1 u := 2 * b t := a * b print t,u +𝑢 − 𝑣 𝑓 𝑛𝑏𝑗𝑜 𝑓 𝑞 stop return , 𝑢 , 𝑣 , 𝑢, 𝑣 , ⊥ 𝑁 = 50 𝑀 = 12.06.2010 Nikolai Knopp 93

  65. Decom omposab sable fram amework orks main p read a,b 𝑞 𝑣 if … T 𝑠 t := a * b F 𝑛𝑏𝑗𝑜 𝑗𝑒 𝑠 u := 2 * b +𝑢 + 𝑣 𝑣 a := a - 1 𝑑 1 𝑢, 𝑣 −𝑢 call p 𝑑 2 𝑣 𝑗𝑒 call p t := a * b a*b,2*b 𝑜 2 𝑢 avail.? b := b + 1 u := 2 * b t := a * b print t,u +𝑢 − 𝑣 𝑓 𝑛𝑏𝑗𝑜 𝑓 𝑞 stop return , 𝑢 , 𝑣 , 𝑢, 𝑣 , ⊥ 𝑁 = 50 𝑀 = 12.06.2010 Nikolai Knopp 94

  66. Decom omposab sable fram amework orks main p read a,b 𝑞 𝑣 if … T 𝑠 t := a * b F 𝑛𝑏𝑗𝑜 id 𝑗𝑒 𝑠 u := 2 * b 𝑣 +𝑢 +𝑣 a := a - 1 𝑑 1 𝑢 𝑣 −𝑢 𝑗𝑒 call p 𝑑 2 𝑣 𝑗𝑒 𝑗𝑒 call p t := a * b a*b,2*b 𝑜 2 𝑢 avail.? b := b + 1 u := 2 * b t := a * b print t,u +𝑢 −𝑣 𝑓 𝑛𝑏𝑗𝑜 𝑓 𝑞 stop return , 𝑢 ,⊥ , 𝑀 𝑣 = , 𝑣 , ⊥ , ⇒ 𝑀 = 𝑀 𝑢 × 𝑀 𝑣 𝑁 = 18 𝑀 𝑢 = 12.06.2010 Nikolai Knopp 95

  67. Bound for decom compos osab able framew mework orks  Theorem: Let 𝑀, 𝐺 decomposable into 𝑙 frameworks 𝑀 𝑗 ,𝐺 𝑗 𝑗=1 . 𝑙 Setting the maximum callstring length to 2 𝑁 = 𝐿 ∗ max 𝑀 𝑗 𝑗∈ 1..𝑙 yields 𝑧 𝑜 0 = 𝑧 𝑜 ∀𝑜 ∈ 𝑂 ∗ . ′ 12.06.2010 Nikolai Knopp 96

  68. 1-relat ated fram amework orks  Defini nition: n: A decomposable DF framework (L,F) is 1-related if each 𝐺 𝑗 only consists of constant and identity functions.  Theorem: In this case, using Γ 0 = Γ 3𝐿 yields 0 = 𝑧 𝑜 ∀𝑜 ∈ 𝑂 ∗ . ′ 𝑧 𝑜  Example: Available expressions is 1-related. Decomp. into subproblems 𝑀 𝑓 ,𝐺 𝑓 for each expression 𝑓 with 𝑀 𝑓 = ⊤, 1,⊥ , 𝐺 ⊥ 𝑓 = 𝑗𝑒, 𝑔 ⊤ , 𝑔 1 , 𝑔 12.06.2010 Nikolai Knopp 97

  69. Chap apter summ mmar ary  If 𝑀 finite, MFP CS iteratively computable on Γ 0  Precision/safeness depending on choice for Γ 0  Enforce termination by limiting max. CS length  Precision preserving bounds exist, but only of theoretical value  Better bounds exist for special problem classes 12.06.2010 Nikolai Knopp 98

  70. Struct cture 1. Definition of a new DF problem (𝑀 ∗ , 𝐺 ∗ ) 2. Proof: Solution to 𝑀 ∗ ,𝐺 ∗ ≡ MOP solution 3. Feasibility and precise variants 4. Approximative solut utions ns 4. 12.06.2010 Nikolai Knopp 99

  71. Motivat ation  Prefer a safe approximative solution 𝑦 𝑜 ≤ 𝑧 𝑜 over MFP CS if  MFP CS not (iteratively) computable  computation not feasible MFP CS by time/space constraints and computation of 𝑦 𝑜 ≤ 𝑧 𝑜 feasible. ⇒ Accept precision loss for less complexity. 12.06.2010 Nikolai Knopp 100

  72. Reduci cing comp mplexity of CS approa oach ch 𝜏 Γ Γ 12.06.2010 Nikolai Knopp 101

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