Abstract

A dataflow analysis computes an approximation of the values computed at various points in a program by considering how the execution of statements transforms the program's state. Dataflow analyses are often expressed as a reachability problem in a control flow graph. In the presence of procedures, care must be taken to avoid traversing infeasible paths in such graphs, in order to avoid a loss of precision. Efficient algorithms such as IFDS [1] have been devised that only consider interprocedurally feasible paths that contain properly matched call and return statements.In this paper, we observe that another form of infeasible path may arise in the context of object-oriented programs that contain correlated method calls. We present some examples to illustrate this phenomenon, and discuss how a dataflow analysis could be devised that avoids traversing infeasible paths.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call