Mangala Gowri Nanda and Saurabh Sinha
Gokulan R
CS15B033
27 April 2020
analyseMethod(node):
initialise worklist with target node
while worklist is not null
node n removed from worklist
for each predcessor p of n
if p is not call/entry node or p calls external function
process p, update state, add to worklist
else if p is a function call
analyse method and update state
else
p is entry node
if called recursively, return updated state
if entry method // analysis performed so far is context insensitive
update predicates
else
trace back upwards from each call site of current method
return (path explored, current state)