A program complexity metric based on data flow information in control graphs

This paper presents a new approach to measuring program complexity with the use of data flow information in programs. A complexity metric, called DU, is defined for the control graph of a structured program. This new metric is different from other control-graph based metrics in that it is based on “representative” data flow information in a control graph. An algorithm for computing the value of DU(G) for a control graph G is given. The lower and upper bounds of DU(G) are provided. The DU metric is shown to have several advantages over other control-graph based complexity metrics.

[1]  P. M. Herman,et al.  A Data Flow Analysis Approach to Program Testing , 1976, Aust. Comput. J..

[2]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[3]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[4]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[5]  Janusz W. Laski On data flow guided program testing , 1982, SIGP.

[6]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[7]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[8]  Kuo-Chung Tai Program Testing Complexity and Test Criteria , 1980, IEEE Transactions on Software Engineering.

[9]  Norman F. Schneidewind,et al.  An Experiment in Software Error Data Collection and Analysis , 1979, IEEE Transactions on Software Engineering.

[10]  Sallie M. Henry,et al.  On the relationships among three software metrics , 1981, SIGMETRICS Perform. Evaluation Rev..

[11]  Martin R. Woodward,et al.  A Measure of Control Flow Complexity in Program Text , 1979, IEEE Transactions on Software Engineering.

[12]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[13]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[14]  D. Kafura,et al.  On the relationships among three software metrics , 1981, Measurement and evaluation of software quality.

[15]  S. Iyengar,et al.  A Measure of Logical Complexity of Programs , 1982, Comput. Lang..