SLIDE 12 12
45
Static Analysis
Fixed Fixed-
Point Solutions
Define ⊥ = (∅, ∅, ∅, ∅, ∅, ∅, ∅, ∅, ∅, ∅, ∅, ∅) Define R = {R0,R1,R2,R3,R4,R5} Define F: R13→R13 as: F(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13) = (f1(X2),f2(X3),f3(X4),f4(X5),f5(X6),f6(X7),f7(X8,X9), f8(X9),f9(X10),f10(X11),f11(X12),f12(X13),f13(X5)) A solution is now a fixed point X∈R13 such that F(X)=X The smallest fixed point is computed as: Fn(⊥) for some n≥0
46
Static Analysis
Computing the Minimal Fixed Point (1/3) Computing the Minimal Fixed Point (1/3)
⊥ F(⊥) F2 (⊥) F3 (⊥) S1 {} {} {} {} S2 {} {} {} {} S3 {} {} {} {R1} S4 {} {} {R1} {R1} S5 {} {R1} {R1} {R1} S6 {} {R5} {R5} {R1,R2,R3,R5} S7 {} {} {R1,R2,R3} {R1,R2,R3,R4} S8 {} {R1,R2} {R1,R2,R4} {R1,R2,R4} S9 {} {R1,R3} {R1,R3,R4} {R1,R3,R4} S10 {} {R1,R4} {R1,R4} {R1,R4} S11 {} {R1} {R1} {R1} S12 {} {R1} {R1} {R1} S13 {} {R1} {R1} {R1}
47
Static Analysis
Computing the Minimal Fixed Point (2/3) Computing the Minimal Fixed Point (2/3)
F4 (⊥) F5(⊥) F6(⊥) S1 {} {} {} S2 {R1} {R1} {R1} S3 {R1} {R1} {R1,R2} S4 {R1} {R1,R2,R3} {R1,R2,R3} S5 {R1,R2,R3} {R1,R2,R3,R4} {R1,R2,R3,R4} S6 {R1,R2,R3,R4,R5} {R1,R2,R3,R4,R5} {R1,R2,R3,R4,R5} S7 {R1,R2,R3,R4} {R1,R2,R3,R4} {R1,R2,R3,R4} S8 {R1,R2,R4} {R1,R2,R4} {R1,R2,R4} S9 {R1,R3,R4} {R1,R3,R4} {R1,R3,R4} S10 {R1,R4} {R1,R4} {R1,R4} S11 {R1} {R1} {R1,R2,R3} S12 {R1} {R1,R2,R3} {R1,R2,R3,R4} S13 {R1,R2,R3} {R1,R2,R3,R4} {R1,R2,R3,R4}
48
Static Analysis
Computing the Minimal Fixed Point (3/3) Computing the Minimal Fixed Point (3/3)
F7 (⊥) F8(⊥) S1 {} {} S2 {R1} {R1} S3 {R1,R2} {R1,R2} S4 {R1,R2,R3} {R1,R2,R3} S5 {R1,R2,R3,R4} {R1,R2,R3,R4} S6 {R1,R2,R3,R4,R5} {R1,R2,R3,R4,R5} S7 {R1,R2,R3,R4} {R1,R2,R3,R4} S8 {R1,R2,R4} {R1,R2,R3,R4} S9 {R1,R3,R4} {R1,R2,R3,R4} S10 {R1,R2,R3,R4} {R1,R2,R3,R4} S11 {R1,R2,R3,R4} {R1,R2,R3,R4} S12 {R1,R2,R3,R4} {R1,R2,R3,R4} S13 {R1,R2,R3,R4} {R1,R2,R3,R4}
F8(⊥)= F9(⊥)