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.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.