Jump to content

Program dependence graph

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Contribute your best (talk | contribs) at 14:43, 26 June 2024 (Rephrasing; added link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

PDG are used in optimization, debugging, and understanding program behavior.[1] These dependencies are used during dependence analysis in optimizing compilers to make transformations so that multiple cores are used, and parallelism is improved.[2] Nodes and edges in a PDG may have attributes associated with them, representing variables read from or written to, or the type of dependency they represent.

See also

Dependency graph

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. ^ Ferrante, J.; Ottenstein, K. J.; Warren, J. (1987). "The program dependence graph and its use in optimization". ACM Transactions on Programming Languages and Systems. 9 (3): 319–349. CiteSeerX 10.1.1.101.27. doi:10.1145/24039.24041. S2CID 505075.