I'm wondering to what extent that this kind of Dataflow Analysis can be used in scripting languages such as Python or MUMPS. Deciding properties over all elements of an array is difficult, just as checking every element is time consuming. There is also some concern re proper treatment of sparse arrays when doing matrix calculations.
In principle this is possible, but given the complex semantics of language terms, this will be quite complex. Typically DFA is run on intermediate code in the optimising part of a compiler. Intermediate code is typically RISC-like idealised machine code. Each specific instruction is very simple and hence computing its effect on global data flow can easily be worked out.