Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Data-flow analysis

Algorithm Classification

Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. It uses the control-flow graph of the program to determine which parts of the program a value assigned to a variable might propagate to, and it forms the foundation for many compiler optimizations and program verification techniques. A simple way to perform it is to set up data-flow equations for each node of the control-flow graph and solve them by repeatedly computing each node's output from its input until the whole system stabilizes at a fixpoint. This general approach, also known as Kildall's method, was developed by Gary Kildall while teaching at the Naval Postgraduate School. Reaching definitions is the canonical example, and live variable analysis, available expressions and constant propagation are other common analyses.

Connections

Credited To

Gary Kildall, Pioneers
Source Data-flow analysis (Wikipedia)

In Field

Source Data-flow analysis (Wikipedia)

Uses Design Technique

Source Data-flow analysis (Wikipedia)
Sources
Data-flow analysis (Wikipedia)
  • In Field: Programming Language Theory, Lead section
    Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.
  • In Group: Compiler and Language Implementation Techniques, Lead section
    Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.
  • Credited To: Gary Kildall, Lead section [credited-to]
    This general approach, also known as Kildall's method, was developed by Gary Kildall while teaching at the Naval Postgraduate School.
  • Uses Design Technique: Iterative Refinement, Lead section
    solve them by repeatedly calculating the output from the input locally at each node until the whole system stabilizes, i.e., it reaches a fixpoint
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.