[MU97]
Steven S. Muchnick, Advanced Compiler Design and Implementation, Margan Kaufmann, 1997.
[HI98]
Nicholas J. Higham, Handbook of Writing for the Mathematical Sciences, SIAM, 1998.
[MR90]
T. J. Marlowe and B. G. Ryder, "Properties of Data Flow Frameworks:
A Unified Model," Acta Informatica, 28, 1990, pages 121-163.
[Ryd96]
B. G. Ryder, "The Future of Program Analysis," ACM Computing Surveys, Vol. 28,
No. 4, 1996.
Def-Use Chains:
[RT81]
John H. Reif and Robert E. Tarjan,
"Symbolic Program Analysis in Almost-linear time,"
SIAM Journal on Computing, Vol. 11, No. 1, February 1981, pages 81-93.
SSA:
[CFRW91]
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, "Efficiently
Computing Static Single Assignment Form and the Control Dependence Graph,"
ACM Transactions on Programming Languages and Systems, Vol. 12, No. 4, October 1991,
pages 451-490.
[CFRWZ89]
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, F. Kenneth
Zadeck, "An Efficient Method of Computing Static Single Assignment Form",
ACM Symposium on Principles of Programming Languages (POPL), 1989,
pages 25-35.
[CF95]
Ron K. Cytron and Jeanne Ferrante, "Efficiently Computing Phi-nodes On-the-fly,"
TOPLAS, Volume 17, No. 3, May 1995, pages 487-506.
[KS98]
Kathleen Knobe and Vivek Sarkar, "Conditional Constant
Propagation of Scalar and Array References Using Array SSA Form,"
Symposium on Static Analysis (SAS), 1998.
Sparse Evaluation Graph:
[CCF91]
Jong-Deok Choi, Ron Cytron, Jeanne Ferrante, "Automatic Construction
of Sparse Data Flow Evaluation Graphs," ACM Symposium on Principles of
Programming Languages (POPL), 1991, pages 55-66.
Dependence Flow Graph:
[JP93]
Richard Johnson and Keshav Pingali, "Dependence-Based
Program Analysis, ACM SIGPLAN Conference on Programming
Language Design and Implementation (PLDI), 1993, pages 78-89.
Congruence Partitioning:
[DGS94]
Evelyn Duesterwald, Rajiv Gupta, Mary Lou Soffa, "Reducing the Cost of Data Flow
Analysis by Congruence Partitioning," International Conference on Compiler Construction,
April 1994.
PDG:
[FOW87]
Jeanne Ferrante, Karl J. Ottenstein, Joe D. Warren,
"The Program Dependence Graph and Its Use in Optimization,"
ACM Transactions on Programming Languages and Systems,
Vol. 9, No. 3, July 1987, pages 319-349.
PDW:
[BMO90]
Robert A. Ballance, Arthur B. Maccabe, and Karl J. Ottenstein,
"The Program Dependence Web: A representation supporting control-, data-,
and demand-driven interpretation of imperative languages, Proceedings
of the SIGPLAN '90 Conference on Programming Language Design and Implementation,
pages 257-271, 1990.
Value Dependence Graph:
[WCES94]
Daniel Weise, Roger F. Crew, Michel Ernst, Bjarne Steensgaard, "Value
Dependence Graphs: Representation Without Taxation," ACM Symposium on
Principles of Programming Languages, 1994, pages 297-310.
SDG:
[HRB90]
Susan Horwitz, Thomas Reps, David Binkley,
"Interprocedural Slicing Using Dependence Graphs,"
ACM Transactions on Programming Languages and Systems,
Vol. 12, No. 1, January 1990, pages 26-60.
Program Summary Graph:
[C88]
David Callahan, "The Program Summary Graph and Flow-sensitive Interprocedural
Data Flow Analysis," ACM SIGPLAN Conference on Programming Language Design and
Implementation, June 1988, pages 47-56.
[HS94]
Mary Jean Harrold and Mary Lou Soffa, "Efficient Computation of Interprocedural Definition-Use Chains,"
TOPLAS, Volume 16, No. 2, March 1994, pages 175-204.
[SP??]
M. Shirir and A. Pnuelli, "Two approaches to interprocedural data flow analysis," in Program Flow Analysis:
THeory and Applications, S. Muchnick and N. Jones, eds. Prentice-Hall, Englewood Cliffs, NJ, pages 189--234.
Demand-driven Analysis
[HRS95]
Susan Horwitz, Thomas Reps, Mooly Sagiv, "Demand Interprocedural Dataflow Analysis,"
ACM SIGSOFT Foundations of Software Engineering, 1995, pages 104-115.
[DGS97]
Evelyn Duesterwald, Rajiv Gupta, Mary Lou Soffa, "A Practical Framework for Demand-driven
Interprocedural Data Flow Analysis," ACM Transactions on Programming Languages and
Systems, Vol. 19, No. 6, November 1997, pages 992-1030.
Slotwise Analysis
[DRZ92]
Dhananjay M. Dhamdhere, Barry K. Rosen, and F. Kennetch Zadeck,
"How to Analyze Large Programs Efficiently and Informatively,"
Proceedings of ACM SIGPLAN Programming Languages Design and
Implementation, 1992, pg. 212-223.
Partitioning Techniques
[ZRL96]
Sean Zhang, Barbara G. Ryder, William Landi, "Program Decomposition for Pointer Aliasing:
A Step toward Practical Analyses," ACM SIGSOFT Foundations of Software Engineering, 1996, pages 81-92.
[R97]
Erik Ruf, "Partitioning Dataflow Analyses Using Types," ACM Symposium
on Principles of Programming Languages, 1997, pages 15-26.
[CRL99]
Ramkrishna Chatterjee, Barbara G. Ryder, William A. Landi, "Relevant Context Inference,"
ACM Symposium on Principles of Programming Languages, 1999, pages 133-146.
[LH99]
Donglin Liang and Mary Jean Harrold, "Efficient Points-To Analysis for Whole-Program Analysis,"
ACM SIGSOFT Foundations of Software Engineering, 1999.
[RHS95]
Thomas Reps, Susan Horwitz, and Mooly Sagiv, "Precise Interprocedural Dataflow Analysis via Graph Reachability,"
POPL 1995.
[HR81]
L. Howard Holley and Barry K. Rosen, "Qualified Data Flow Problems," IEEE Transactions on Software
Engineering, SE-7 (1), January 1981, pages 60-78.
[BGS97]
R. Bodik, R. Gupta, M.L. Soffa,
"Refining Data Flow Information using Infeasible Paths,"
Proceedings of ACM SIGSOFT Symposium on Foundations of Software
Engineering and Sixth European Software Engineering Conference,
Sept. 1997.
Separate Paths:
[AmLa99}
Glenn Ammons and James R. Larus, "Improving Data-flow Analysis with Path Profiles," PLDI 1998.
[BA98]
Rastislav Bodik and Sadun Anik,"Path-Sensitive Value-Flow Analysis," POPL98.
Pointer Analysis:
[S96]
Bjarne Steensgaard, "Points-to Analysis in Almost Linear Time,"
ACM Symposium on Principles of Programming Langauges, 1996, pages 32-41.
[GH96]
Rakesh Ghiya and Laurie J. Hendren, "Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed
Pointers in C," POPL 96.
[SH97]
Marc Shapiro and Susan Horwitz, "Fast and Accurate Flow-Insensitive Points-to Analysis,"
POPL 97.
[GH98]
Rakesh Ghiya and Laurie J. Hendren, "Putting Pointer Analysis to Work," POPL 98.
[RH96]
Rakesh Ghiya and Laurie J. Hendren, "Connection Analysis: A Practical Interprocedural Heap Analysis in C,"
International Journal of Parallel Programming, Volume 24, No. 6, 1996.