Skip to main content
Log in

Estimating test effectiveness with dynamic complexity measurement

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Google Scholar 

  • Frankl P. G., and Weyuker E. J. 1993. Provable improvements on branch testing. IEEE Transactions on Software Engineering SE-19(10): 962–976.

    Google Scholar 

  • Halstead M. H. 1977. Elements of Software Science. New York: Elsevier.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • McCabe T. J. 1976. A complexity measure. IEEE Transactions on Software Engineering SE-2: 308–320.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Weyuker E. J. 1993. More experience with data flow testing. IEEE Transactions on Software Engineering, SE-19(9): 912–919.

    Google Scholar 

  • Zuse H. 1990. Software Complexity: Measures and Methods, New York: Walter de Gruyer & Co.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00127448

Keywords

Navigation