Currently, dataflow dependencies are determined solely by tracking objects, essentially by memory address (technically, use Python's weak references). Naturally, this does not work for objects that do not have unique/stable memory addresses, such as primitive scalar values (see #17).
Now that we're using AST rewriting, as of #15, we should supplement the memory-based object tracker with static analysis to capture dataflow. A satisfactory resolution of this issue would fix #14 and #17. A similar approach is already being used in rflowgraph.
Currently, dataflow dependencies are determined solely by tracking objects, essentially by memory address (technically, use Python's weak references). Naturally, this does not work for objects that do not have unique/stable memory addresses, such as primitive scalar values (see #17).
Now that we're using AST rewriting, as of #15, we should supplement the memory-based object tracker with static analysis to capture dataflow. A satisfactory resolution of this issue would fix #14 and #17. A similar approach is already being used in rflowgraph.