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

points to analysis
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Points-to Analysis

y = &z;

y z

slide-2
SLIDE 2

Points-to Analysis

y = &z; x = &y;

x y z

slide-3
SLIDE 3

Points-to Analysis

y = &z; x = &y; w = &x;

w x y z

slide-4
SLIDE 4

Points-to Analysis

y = &z; x = &y; w = &x; a = w;

w x y z a

slide-5
SLIDE 5

Points-to Analysis

y = &z; x = &y; w = &x; a = w;

w x y z a

slide-6
SLIDE 6

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w;

w x y z a b

slide-7
SLIDE 7

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w;

w x y z a b

slide-8
SLIDE 8

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w; c = **a;

w x y z a b c

slide-9
SLIDE 9

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w; c = **a;

w x y z a b c

slide-10
SLIDE 10

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w; c = **a; ***w = b;

w x y z a b c

slide-11
SLIDE 11

Points-to Analysis

y = &z; x = &y; w = &x; a = w; b = *w; c = **a; ***w = b;

w x y z a b c

slide-12
SLIDE 12

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(a) = {} pt(b) = {} pt(c) = {} pt(d) = {} pt(e) = {}

slide-13
SLIDE 13

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(a) = {} pt(b) = {} pt(c) = {} pt(d) = {} pt(a) = {b} pt(e) = {}

slide-14
SLIDE 14

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(a) = {} pt(b) = {} pt(c) = {} pt(d) = {} pt(a) = {b} pt(c) = {b} pt(e) = {}

slide-15
SLIDE 15

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(a) = {} pt(b) = {} pt(c) = {} pt(d) = {} pt(a) = {b} pt(c) = {b} pt(a) = {b,d} pt(e) = {}

slide-16
SLIDE 16

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(a) = {} pt(b) = {} pt(c) = {} pt(d) = {} pt(a) = {b} pt(c) = {b} pt(a) = {b,d} pt(e) = {} pt(e) = {b,d}

slide-17
SLIDE 17

Andersen Example

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

slide-18
SLIDE 18

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(b) = {} pt(d) = {} pt(c) = {b} pt(a) = {b,d} pt(e) = {b,d}

slide-19
SLIDE 19

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(b) = {} pt(d) = {} pt(c) = {b} pt(a) = {b,d} pt(e) = {b,d} pt(c) = {b,d}

slide-20
SLIDE 20

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(b) = {} pt(d) = {} pt(c) = {b} pt(a) = {b,d} pt(e) = {b,d} pt(c) = {b,d}

slide-21
SLIDE 21

Andersen Example

a = &b; c = a; a = &d; e = a; pt(a) ⊇ {b} pt(c) ⊇ pt(a) pt(a) ⊇ {d} pt(e) ⊇ pt(a) pt(b) = {} pt(d) = {} pt(c) = {b} pt(a) = {b,d} pt(e) = {b,d} pt(c) = {b,d}

slide-22
SLIDE 22

Andersen Example

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

slide-23
SLIDE 23

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(d) = {}

slide-24
SLIDE 24

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(a) = {b} pt(d) = {}

slide-25
SLIDE 25

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(a) = {b} pt(d) = {} pt(c) = {d}

slide-26
SLIDE 26

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(a) = {b} pt(d) = {} pt(c) = {d} pt(e) = {a}

slide-27
SLIDE 27

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(a) = {b} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b}

slide-28
SLIDE 28

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(e) = {} pt(a) = {} pt(c) = {} pt(f) = {} pt(a) = {b} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d}

slide-29
SLIDE 29

Andersen Example (2)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d} End of first iteration

slide-30
SLIDE 30

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d}

slide-31
SLIDE 31

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d}

slide-32
SLIDE 32

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d}

slide-33
SLIDE 33

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d} pt(f) = {b,d}

slide-34
SLIDE 34

Andersen Example (2)

a = &b; c = &d; e = &a; f = a; *e = c; pt(a) ⊇ {b} pt(c) ⊇ {d} pt(e) ⊇ {a} pt(f) ⊇ pt(a) pt(e) ⊇ {z} ⟹ pt(z) ⊇ pt(c) pt(a) ⊇ pt(c)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(f) = {b} pt(a) = {b,d} pt(f) = {b,d}

slide-35
SLIDE 35

Andersen Example (2)

pt(b) = {} pt(d) = {} pt(c) = {d} pt(e) = {a} pt(a) = {b,d} pt(f) = {b,d} End of second iteration (finished)