A study of control flow and data dependency interface (abstract)

  • Authors:
  • Narayan C. Debnath

  • Affiliations:
  • Computer Science Department, Winona State University, Winona, MN

  • Venue:
  • CSC '90 Proceedings of the 1990 ACM annual conference on Cooperation
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

The results described in this paper is motivated by the desire to study the interface between the structure of control flow and data dependencies. The complexity of the control flow and the complexity of the data dependencies are necessarily intertwined. An increase in the complexity of the data dependencies will result from an increase in control flow complexity. A control flow alternation construct can result in an increase in the number of variable definitions that may be referenced. This increase in the number of referable definitions may extend far beyond the range of the alternation construct.In order to study the interface between control structure and data dependencies, a general abstraction describing the static structure of software is developed. The abstraction proposed in this paper is called Generalized Program Graph (GPG) and is a synthesis of the control flow graph and data dependency graph. Various sources of data dependencies in a program and live definitions of variables are discussed. An algorithm for constructing a GPG from a given source program in imperative languages is included. Some results of the analysis of the GPG structures and the interface between control and data dependency complexity are also presented. It appears that the GPG can directly be applied in the studies of software module interconnection complexity. Other important theoretical and practical application of the GPG are discussed. Because the GPG includes both the control flow and data dependency information in one abstraction, it can be used as an implementation model for the development of measurement and analysis tools for empirical research.