کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
433308 | 1441662 | 2015 | 7 صفحه PDF | دانلود رایگان |
• Object-oriented programs may contain infeasible paths due to correlated method calls.
• Existing dataflow analysis algorithms do not account precisely for infeasible paths.
• We discuss how more precise dataflow analysis algorithms can be designed.
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.
Journal: Science of Computer Programming - Volume 97, Part 1, 1 January 2015, Pages 91–97