Application of Program Graphs and Complexity Analysis to Software Development and Testing
Abstract
Several research studies have shown a strong relationship between complexity, as measured by the structural properties of a program, and its error properties, as measured by number and types of errors and error detection and correction times. This research applies to: a) the setting of threshold values of complexity in software production in order to avoid undue difficulty with program debugging: b) the use of complexity as an index for allocating resources during the test phase of software development; c) the use of complexity for developing test strategies and the selection of test data. Application #c uses the directed graph representation of a program and its complexity measures to decompose the program into its basic constructs. The identification of the constructs serves to identify a) the components of the program which must be tested, and b) the selection of test data which are needed to exercise these components. Directed graph properties which apply to program development and testing are defined; examples of the application of graph properties for program development and testing are given; the results of program complexity and error measurements are presented; and a procedure for complexity measurement and its use in programming and testing is summarized.
Rights
This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. Copyright protection is not available for this work in the United States.Collections
Related items
Showing items related by title, author, creator and subject.
-
Risk Quantification of Acquisition Programs Through Systems Complexity Measures
Nilchiani, Roshanak Rose; Pugliese, Antonio (Monterey, California. Naval Postgraduate School, 2021-10); SIT-SE-22-003The objective of this research is to mathematically formulate and manage the relationship between the quantitative complexity level of an acquisition or engineering development program and its relationship to the increased ... -
An Experiment in Software Error Data Collection and Analysis
Schneidewind, N.F.; Hoffmann, Heinz-Michael (IEEE, 1979-05);The propensity to make programming errors and the rates of error detection and correction are dependent on program complexity. Knowledge of these relationships can be used to avoid errorprone structures in software ... -
Cyclomatic complexity as a utility for predicting software faults
Shuman, Edwin Arthur, IV (Monterey, California. Naval Postgraduate School, 1983-06);The cyclomatic complexity metric provides a means of quantifying intra-modular software complexity, and its utility has been suggested in the software development and testing process. In this thesis, an empirical analysis ...