“…E-IFDS call-site code def CallSiteActor(n) [1] local PathEdge := ∅ [2] local CallEdge := ∅ [3] local CalleePathEdge := ∅ begin (message) switch [4] case message matches AddPathEdge d1, d2 : [5] if d1 → d2 / ∈ PathEdge then [6] Insert d1 → d2 into PathEdge [7] for each p ∈ calledProcs(n) and d3 ∈ flow call (n, d2, p) do [8] Propagate(sp, AddPathEdge d3, d3 ) [9] Insert p, d2 → d3 into CallEdge [10] for each d4 such that p, d3 → d4 ∈ CalleePathEdge do [11] for each d5 ∈ flowret(ep, d4, n, d2) do [12] Propagate(returnSite(n), AddPathEdge d1, d5 ) [13] od [14] od [15] od [16] for each d3 ∈ flow thru (n, d2) do [17] Propagate(returnSite(n), AddPathEdge d1, d3 ) [18] od [19] fi [20] case message matches AddCalleePathEdge p, d1, d2 :…”