This Article 
 Bibliographic References 
 Add to: 
Cyclomatic Complexity Density and Software Maintenance Productivity
December 1991 (vol. 17 no. 12)
pp. 1284-1288

A study of the relationship between the cyclomatic complexity metric (T. McCabe, 1976) and software maintenance productivity, given that a metric that measures complexity should prove to be a useful predictor of maintenance costs, is reported. The cyclomatic complexity metric is a measure of the maximum number of linearly independent circuits in a program control graph. The current research validates previously raised concerns about the metric on a new data set. However, a simple transformation of the metric is investigated whereby the cyclomatic complexity is divided by the size of the system in source statements. thereby determining a complexity density ratio. This complexity density ratio is demonstrated to be a useful predictor of software maintenance productivity on a small pilot sample of maintenance projects.

[1] L. A. Belady and M. M. Lehman. "A model of large program development,"IBM Syst. J., vol. 15, no. 1, pp. 225-252, 1976.
[2] B. W. Boehm,Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[3] Conte, S.D. et al. 1986.Software Engineering Metrics and Models. Menlo Park, Calif., Benjamin/Cummings.
[4] W. M. Evangelist, "Software complexity metric sensitivity to program structuring rules,"J. Syst. Software, vol. 3, pp. 231-243, 1982.
[5] R. K. Fjeldstad and W. T. Hamlen, "Application program maintenance study: report to our respondents," inProc. GUIDE 48. Philadelphia, PA: Guide Corp., 1979.
[6] T. Gilb,Software Metrics. Cambridge, MA: Winthrop, 1977.
[7] G. K. Gill, "A study of the factors that affect software development productivity," Master's thesis, Sloan School of Management, MIT, Cambridge, MA, 1989 (unpublished).
[8] G. K. Gill and C. F. Kemerer. "Cyclomatic complexity metrics revisited: an empirical study of software development and maintenance," Ctr. Inform. Syst. Res., Sloan School of Management, MIT, Cambridge, MA, CISR WP No 218. Sloan WP No. 3222-90, 1991.
[9] W. J. Hansen, "Measurement of program complexity by the pair (cyclomatic number, operator count)," ACM SIGPLAN Notices, vol. 13, no. 3, pp. 29-33, Mar. 1978.
[10] C. Jones,Programming Productivity. New York: McGraw-Hill, 1986.
[11] J. K. Kearney, R. L. Sedlmeyer, W. B. Thompson, M. A. Gray, and M. A. Adler, "Software complexity measurement,"Commun. ACM, vol. 29, no. 11, pp. 1044-1050, Nov. 1986.
[12] B. P. Lientz and E. B. Swanson,Software Maintenance Management. Reading, MA: Addison-Wesley, 1980.
[13] D. McAuliffe, "Measuring program complexity,"IEEE Computer, Oct. 1988.
[14] T. J. McCabe, "A complexity measure,"IEEE Trans. Software Eng., vol. SE-2, pp. 308-320, 1976.
[15] G. J. Myers, "An extension to the cyclomatic measure of program complexity,"SIGPLAN Notices, vol. 12, no. 10, pp. 61-64, 1977.
[16] G. Parikh, "Restructuring your COBOL programs,"Computerworld Focus, vol. 20, no. 7a, pp. 39-42, Feb. 19, 1986.
[17] G. Parikh and N. Zvegintzov, Eds.,Tutorial on Software Maintenance. Silver Spring, MD: IEEE Computer Soc., 1983.
[18] D. Potier, J. Albin, V. Ferreol, and A. Bilodeau, "Experiments with computer software complexity and reliability," inProc. 6th Int. Conf. on Software Eng., 1982, pp. 94-101.
[19] R.W. Selby, "Empirically Analyzing Software Reuse in a Production Environment," inSoftware Reuse: Emerging Technology, W. Tracz, ed., IEEE Computer Soc. Press, Los Alamitos, Calif., 1988, pp. 176- 189.
[20] J. J. Martin,Data Types and Data Structures. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[21] T. Sunohara, A. Takano, K. Uehara, and T. Ohkawa, "Program complexity measure for software development management," inProc. 5th Int. Conf. on Software Eng., 1981, pp. 100-106.
[22] "Parallel test and evaluation of a Cobol restructuring tool," Fed. Software Management Support Ctr., Office of Software Development and Inform. Technol., U.S. General Services Admin., Falls Church, VA, Sept. 1987.
[23] I. Vessey and R. Weber, "Some factors affecting program repair maintenance: an empirical study,"Commun. ACM, vol. 26, no. 2, pp. 128-134, Feb. 1983.

Index Terms:
cyclomatic complexity metric; software maintenance productivity; linearly independent circuits; program control graph; data set; complexity density ratio; software maintenance; software metrics
G.K. Gill, C.F. Kemerer, "Cyclomatic Complexity Density and Software Maintenance Productivity," IEEE Transactions on Software Engineering, vol. 17, no. 12, pp. 1284-1288, Dec. 1991, doi:10.1109/32.106988
Usage of this product signifies your acceptance of the Terms of Use.