Online Computer Terms Dictionary - D

data flow analysis

<programming> A process to discover the dependencies between different
data items manipulated by a program. The order of execution in a data driven
language is determined solely by the data dependencies. For example, given the
equations

1. X = A + B
2. B = 2 + 2
3. A = 3 + 4

a data-flow analysis would find that 2 and 3 must be evaluated before 1.
Since there are no data dependencies between 2 and
3, they may be evaluated in any order, including in
parallel.

This technique is implemented in hardware in some pipelined processors with
multiple functional units. It allows instructions to be executed as soon as
their inputs are available, independent of the original program order.