Article · Wikipedia archive · Last revised Jul 12, 2026

Program dependence graph

A Program Dependence Graph (PDG) is a directed graph of a program's control and data dependencies. Nodes represent program statements and edges represent dependencies between these statements.

Last revised
Jul 12, 2026
Read time
≈ 1 min
Length
133 w
Citations
2
Source
A JavaScript program that exfiltrates a user's user-agent to a remote URL source ↗

A Program Dependence Graph (PDG) is a directed graph of a program's control and data dependencies. Nodes represent program statements and edges represent dependencies between these statements.

PDGs are used in optimization, debugging, and understanding program behavior. One example of this is their utilization by compilers during dependence analysis, enabling the optimizing compiler to make transformations to allow for parallelism.12

See also

See also

References

References

  1. Jeanne Ferrante; Ottenstein, Karl J.; Warren, Joe D. (July 1987). "The Program Dependence Graph and its Use in Optimization" (PDF). ACM Transactions on Programming Languages and Systems. 9 (3): 319–349. CiteSeerX 10.1.1.101.27. doi:10.1145/24039.24041. S2CID 505075.
  2. "Dependence Graphs in LLVM — LLVM 19.0.0git documentation". llvm.org. Retrieved 2024-06-26.