Analysis of object flow during execution of individual instructions of a
method within an object-oriented application provides information
regarding the creation and flow of objects during an invocation of the
method. This analysis information is used to track where objects enter an
invocation of the method and track their path during the execution of the
method. The operand stack, register, and local variables references to
the objects are tracked as each instruction in the method is executed.
Where objects are passed to elements outside of the method invocation is
tracked as well. This tracking of object flow uses an iterative data-flow
analysis. If an object is passed to the method or created within the
method, the embodiments described herein may be used to determine where
that object can go from that point onwards, whether to other method
invocations, arrays, or data fields within the application.