Data Dependency Graphs for Ada Programs

A compositional method of constructing data dependency graphs for Ada programs is presented. These graphs are useful in a program development environment for analyzing data dependencies and tracking information flow within a program. Graphs for primitive program statements are combined together to form graphs for larger program units. Composition rules are described for iteration, recursion, exception handling, and tasking, as well as for simpler Ada constructs. The correctness of the construction and the practicality of the technique are discussed. >

[1]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[2]  John H. Reif,et al.  Symbolic evaluation and the global value graph , 1977, POPL.

[3]  Leon J. Osterweil,et al.  Data Flow Analysis in Software Reliability , 1976, CSUR.

[4]  Eugene W. Myers,et al.  A precise inter-procedural data flow algorithm , 1981, POPL '81.

[5]  Barry K. Rosen,et al.  High-level data flow analysis , 1977, CACM.

[6]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[7]  Thomas W. Reps,et al.  Integrating non-intering versions of programs , 1988, POPL '88.

[8]  David L. Kuck,et al.  The Structure of Computers and Computations , 1978 .

[9]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[10]  Thomas W. Reps,et al.  On the adequacy of program dependence graphs for representing programs , 1988, POPL '88.

[11]  Richard J. Lipton,et al.  The enforcement of security policies for computation , 1975, J. Comput. Syst. Sci..

[12]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984 .

[13]  Ken Kennedy,et al.  Graph grammars and global program data flow analysis , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[14]  David A. Padua,et al.  Advanced compiler optimizations for supercomputers , 1986, CACM.

[15]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[16]  Barbara G. Ryder,et al.  Incremental data-flow analysis algorithms , 1988, TOPL.

[17]  Peter J. Denning,et al.  Certification of programs for secure information flow , 1977, CACM.