Abstract
This paper presents an investigation into four distinct aspects of software complexity. An initial partition of the software complexity domain would be the attributes of static software complexity and those of dynamic software comlexity. Static complexity measurement views all program modules monolithically. That is, all of the code for all of the modules is measured as extracted from source code files. When computer software is actually executed, not all modules are executed to the same extent. Some receive a large proportion of execution activity. Further, when these modules execute, not all code in the modules executes. If just the code that is executed is measured for complexity a completely different view of the program module emerges. In this investigation we will examine the static complexity of a program together with the three dynamic measures of functional, fractional, and operational complexity. The eminent value of the dynamic metrics is shown in their role as measures of test outcomes.
Similar content being viewed by others
References
Anger F. D., Munson J. C., and Rodriguez R. V. 1994. Temporal complexity and software faults. Proceedings of the IEEE International Symposium on Software Reliability Engineering 1994. IEEE Computer Society Press, Los Alamitos, CA.
Frankl P. G., and Weyuker E. J. 1993. Provable improvements on branch testing. IEEE Transactions on Software Engineering SE-19(10): 962–976.
Halstead M. H. 1977. Elements of Software Science. New York: Elsevier.
Horgan, J. R., and Mathur, A. P. 1992. Assessing testing tools in research and education. IEEE Software 9(3).
Jackson J. E. 1991. A User's Guide to Principal Components. New York: John Wiley and Sons, Inc.
Khoshgoftaar T. M., and Munson J. C. 1992. A measure of software system complexity and its relationship to faults. Proceedings of the 1992 International Simulation Technology Conference. The Society for Computer Simulation, San Diego, CA, 267–272.
Khoshgoftaar T. M., and Munson J. C. 1990. Predicting software development errors using complexity metrics. IEEE Journal on Selected Areas in Communications 8: 253–261.
Lou G., Das A., and Bochmann G. V. 1994. Software testing based on SDL specifications with save. IEEE Transactions on Software Engineering SE-20(1): 72–87.
McCabe T. J. 1976. A complexity measure. IEEE Transactions on Software Engineering SE-2: 308–320.
Mills, H. D. 1972. On the statistical validation of computer programs. IBM Corporation Technical Report FSC-72-6015.
Morell L. J. 1990. A theory of fault-based testing. IEEE Transactions on Software Engineering SE 16(8): 844–857.
Munson, J. C. 1995. Software measurement: Problems and practice. Annals of Software Engineering (1): 255–285.
Munson J. C. 1996. A software blackbox recorder. IEEE Proceedings of the 1996 Aerospace Applications Conference. IEEE Computer Society Press, Los Alamitos, CA, 300–310.
Munson, J. C., and Hall, G. A. Dynamic program complexity and software testing. Proceedings of the 1995 IEEE International Testing Conference. IEEE Computer Society Press, Los Alamitos, CA, 730–737.
Munson J. C., and Khoshgoftaar T. M. 1989. The dimensionality of program complexity. Proceedings of the 11th Annual International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, CA, 245–253.
Munson J. C., and Khoshgoftaar T. M. 1990a. Regression modeling of software quality: An empirical investigation. Journal of Information and Software Technology 32: 105–114.
Munson J. C., and Khoshgoftaar T. M. 1990b. Applications of a relative complexity metric for software project management. Journal of Systems and Software,12: 283–291.
Munson J. C., and Khoshgoftaar T. M. 1990c. The relative software complexity metric: A validation study. Proceedings of the Software Engineering 1990 Conference. Cambridge University Press, Cambridge, UK, 89–102.
Munson, J. C., and Khoshgoftaar, T. M. 1992a. Measuring dynamic complexity. IEEE Software, 48–55.
Munson J. C., and Khoshgoftaar T. M. 1992b. The detection of fault-prone programs. IEEE Transactions on Software Engineering SE-18(5): 423–433.
Munson J. C., and Ravenel R. H. 1993. Designing reliable software. Proceedings of the 1993 IEEE International Symposium of Software Reliability Engineering. IEEE Computer Society Press, Los Alamitos, CA, 45–54.
Nakajo T., and Kume H. 1991. A case history analysis of software error cause-effect relationships. IEEE Transactions on Software Engineering SE-17(8): 830–838.
Weyuker E. J. 1993. More experience with data flow testing. IEEE Transactions on Software Engineering, SE-19(9): 912–919.
Zuse H. 1990. Software Complexity: Measures and Methods, New York: Walter de Gruyer & Co.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Munson, J.C., Hall, G.A. Estimating test effectiveness with dynamic complexity measurement. Empirical Software Engineering 1, 279–305 (1996). https://doi.org/10.1007/BF00127448
Issue Date:
DOI: https://doi.org/10.1007/BF00127448