points to analysis

Points-to Analysis y = &z; y z Points-to Analysis y = - PowerPoint PPT Presentation

Points-to Analysis y = &z; y z Points-to Analysis y = &z; x = &y; x y z Points-to Analysis y = &z; w x = &y; w = &x; x y z Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; y z


  1. Points-to Analysis y = &z; y z

  2. Points-to Analysis y = &z; x = &y; x y z

  3. Points-to Analysis y = &z; w x = &y; w = &x; x y z

  4. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; y z

  5. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; y z

  6. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y z

  7. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y z

  8. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y c = **a; c z

  9. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y c = **a; c z

  10. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y c = **a; ***w = b; c z

  11. Points-to Analysis y = &z; w x = &y; w = &x; a x a = w; b = *w; b y c = **a; ***w = b; c z

  12. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {} pt(c) = {} pt(b) = {} pt(d) = {} pt(e) = {}

  13. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {} pt(a) = {b} pt(c) = {} pt(b) = {} pt(d) = {} pt(e) = {}

  14. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {} pt(a) = {b} pt(c) = {} pt(c) = {b} pt(b) = {} pt(d) = {} pt(e) = {}

  15. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {} pt(a) = {b} pt(a) = {b,d} pt(c) = {} pt(c) = {b} pt(b) = {} pt(d) = {} pt(e) = {}

  16. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {} pt(a) = {b} pt(a) = {b,d} pt(c) = {} pt(c) = {b} pt(b) = {} pt(d) = {} pt(e) = {} pt(e) = {b,d}

  17. Andersen Example End of first iteration pt(a) = {b,d} pt(c) = {b} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  18. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {b,d} pt(c) = {b} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  19. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {b,d} pt(c) = {b} pt(c) = {b,d} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  20. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {b,d} pt(c) = {b} pt(c) = {b,d} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  21. Andersen Example pt(a) ⊇ {b} a = &b; pt(c) ⊇ pt(a) c = a; a = &d; pt(a) ⊇ {d} e = a; pt(e) ⊇ pt(a) pt(a) = {b,d} pt(c) = {b} pt(c) = {b,d} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  22. Andersen Example End of second iteration (finished) pt(a) = {b,d} pt(c) = {b,d} pt(b) = {} pt(d) = {} pt(e) = {b,d}

  23. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(d) = {} pt(b) = {} pt(e) = {} pt(c) = {} pt(f) = {}

  24. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(a) = {b} pt(d) = {} pt(b) = {} pt(e) = {} pt(c) = {} pt(f) = {}

  25. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(a) = {b} pt(d) = {} pt(b) = {} pt(e) = {} pt(c) = {} pt(c) = {d} pt(f) = {}

  26. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(a) = {b} pt(d) = {} pt(b) = {} pt(e) = {} pt(e) = {a} pt(c) = {} pt(c) = {d} pt(f) = {}

  27. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(a) = {b} pt(d) = {} pt(b) = {} pt(e) = {} pt(e) = {a} pt(c) = {} pt(c) = {d} pt(f) = {b} pt(f) = {}

  28. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {} pt(a) = {b} pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {} pt(e) = {a} pt(c) = {} pt(c) = {d} pt(f) = {b} pt(f) = {}

  29. Andersen Example (2) End of first iteration pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b}

  30. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b}

  31. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b}

  32. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b}

  33. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b} pt(f) = {b,d}

  34. Andersen Example (2) pt(a) ⊇ {b} a = &b; pt(c) ⊇ {d} c = &d; pt(e) ⊇ {a} e = &a; pt(f) ⊇ pt(a) f = a; pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) *e = c; pt(a) ⊇ pt(c) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b} pt(f) = {b,d}

  35. Andersen Example (2) End of second iteration (finished) pt(a) = {b,d} pt(d) = {} pt(b) = {} pt(e) = {a} pt(c) = {d} pt(f) = {b,d}

Recommend


More recommend