This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics
January 2003 (vol. 29 no. 1)
pp. 77-87

Abstract—The Object-Oriented (OO) paradigm has become increasingly popular in recent years. Researchers agree that, although maintenance may turn out to be easier for OO systems, it is unlikely that the maintenance burden will completely disappear. One approach to controlling software maintenance costs is the utilization of software metrics during the development phase, to help identify potential problem areas. Many new metrics have been proposed for OO systems, but only a few of them have been validated. The purpose of this research is to empirically explore the validation of three existing OO design complexity metrics and, specifically, to assess their ability to predict maintenance time.This research reports the results of validating three metrics, Interaction Level (IL), Interface Size (IS), and Operation Argument Complexity (OAC). A controlled experiment was conducted to investigate the effect of design complexity (as measured by the above metrics) on maintenance time. Each of the three metrics by itself was found to be useful in the experiment in predicting maintenance performance.

[1] D. Abbott, “A Design Complexity Metric for Object-Oriented Development,” Masters thesis, Dept. of Computer Science, Clemson Univ., 1993.
[2] D.H. Abbott, T.D. Korson, and J.D. McGregor, “A Proposed Design Complexity Metric for Object-Oriented Development,” Technical Report TR 94-105, Computer Science Dept., Clemson Univ., 1994.
[3] A.F. Brito and R. Carapuca, “Candidate Metrics for Object-Oriented Software within a Taxonomy Framework,” J. Systems Software, vol. 26, pp. 87-96, 1994.
[4] B.F. Abreu, M. Goulao, and R. Esteves, “Toward the Design Quality Evaluation of Object-Oriented Software Systems,” Proc. Fifth Int'l Conf. Software Quality, Oct. 1995.
[5] B.F. Abreu and W.L. Melo, “Evaluating the Impact of Object-Oriented Design on Software Quality,” Proc. Third Int'l Software Metrics Symp., Mar. 1996.
[6] G. Antoniol, B. Caprile, A. Potrich, and P. Tonella, “Design-Code Traceability for Object-Oriented Systems,” Annals of Software Eng., vol. 9, pp. 35-58, 2000.
[7] R.K. Bandi, “Using Object-Oriented Design Complexity Metrics to Predict Maintenance Performance,” PhD dissertation, Georgia State Univ., 1998.
[8] V.R. Basili, L.C. Briand, and W. Melo, "A Validation of Object-Oriented Design Metrics as Quality Indicators," IEEE Trans. Software Eng., Oct. 1996, pp. 751-761.
[9] A.B. Binkley and S.R. Schach, “A Comparison of Sixteen Quality Metrics for Object-Oriented Design,” Information Processing Letters, vol. 58, pp. 271-275, 1996.
[10] Grady Booch, "Object-Oriented Development," IEEE Transactions on Software Engineering, vol. 12, p. 212, Feb. 1986.
[11] L. Briand, S. Morasca, and V. Basili, "Defining and Validating High-Level Design Metrics," Technical Report CS-TR 3301, Univ. of Maryland, 1994; to be published in IEEE Trans. Software Eng.
[12] L. Briand, J. Wuest, J. Daly, and V. Porter, “Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems,” J. Systems and Software, vol. 51, 2000.
[13] M. Bunge, Treatise on Basic Philosophy: Ontology I: The Furniture of the World. Boston: Riedel, 1977.
[14] M. Cartwright and M. Shepperd, "An Empirical Investigation of an Object-Oriented Software System," IEEE Trans. Software Eng., vol. 26, no. 8, Aug. 2000, pp. 786-796.
[15] J-Y. Chen and J-F. Lu, “A New Metric for Object-Oriented Design,” Information and Software Technology, pp. 232-240, Apr. 1993.
[16] S.R. Chidamber and C.F. Kemerer, "Towards a Metrics Suite for Object Oriented Design," A. Paepcke, ed., Proc. Conf. Object-Oriented Programming: Systems, Languages and Applications, OOPSLA'91, Oct. 1991. Also published in SIGPLAN Notices, vol. 26, no. 11, pp. 197-211, 1991.
[17] S.R. Chidamber and C.F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[18] N.I. Churcher and M.J. Shepperd, "Comments on 'A Metrics Suite for Object-Oriented Design,'" IEEE Trans. Software Eng., vol. 21, no. 3, pp. 263-265, 1995.
[19] D. Coleman, D. Lowther, and P. Oman, “The Application of Software Maintainability Models in Industrial Software Systems,” J. Systems Software, vol. 29, pp. 3-16, 1995.
[20] B. Curtis, S.B. Shepperd, P. Milliman, M.A. Borst, and T. Love, “Measuring the Psychological Complexity of Software Maintenance Tasks with the Halstead and McCabe Metrics,” IEEE Trans. Software Eng., pp. 96-104, Mar. 1979.
[21] D. De Champeaux, Object-Oriented Development Process and Metrics. Prentice-Hall, 1997.
[22] L. Etzcorn, J. Bansiya, and C. Davis, “Design and Code Complexity Metrics for OO Classes,” J. Object-Oriented Programming, vol. 12, no. 1, pp. 35-40, 1999.
[23] N. Fenton and L. Pfleeger, Software Metrics–A Rigorous and Practical Approach, second ed. Boston, PWS-Publishing, 1997.
[24] R. Fiutem and A. Antoniol, “Identifying Design-Code Inconsistencies in Object-Oriented Software: A Case Study,” Proc. Int'l Conf. Software Maintenance, pp. 94-102, 1998.
[25] V.R. Gibson and J.A. Senn, "System Structure and Software Maintenance Performance," Comm. ACM, vol. 32, pp. 347-358, Mar. 1989.
[26] R. Harrison, S.J. Counsell, and R.V. Nithi, “An Evaluation of the Mood Set of Object-Oriented Software Metrics,” IEEE Trans. Software Eng., vol. 24, pp. 491-496, June 1998.
[27] B. Henderson-Sellers, Object-Oriented Metrics: Measures of Complexity. Prentice-Hall, 1996.
[28] B. Henderson-Sellers, “The Mathematical Validity of Software Metrics,” Software Eng. Notes, vol. 21, no. 5, pp. 89-94, Sept. 1996.
[29] S. Henry and C. Selig, “Predicting Source-Code Complexity at the Design Stage,” IEEE Software, pp. 36-44, Mar. 1990.
[30] M. Hitz and B. Montazeri, "Chidamber&Kemerer's Metrics Suite: A Measurement Theory Perspective," IEEE Trans. Software Eng., vol. 22, no. 4, pp. 276-270, 1996.
[31] R. Kolewe, “Metrics in Object-Oriented Design and Programming,” Software Development, pp. 53-62, Oct. 1993.
[32] B.P. Lientz and E.B. Swanson, Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations, Addison Wesley Longman, Reading, Mass., 1980.
[33] W. Li and S. Henry, "Object-Oriented Metrics that Predict Maintainability," J. Systems Software, Vol. 23, No. 2, 1993, pp. 111-122.
[34] W. Li, S. Henry, D. Kafura, and R. Schulman, “Measuring Object-Oriented Design,” J. Object-Oriented Programming, vol. 8, no. 4, pp. 48-55, July/Aug. 1995.
[35] M. Lorenz and J. Kidd, Object-Oriented Software Metrics. Prentice Hall, 1994.
[36] D. Mancl and W. Havanas, “A Study of the Impact of C++ on Software Maintenance,” Proc. IEEE Conf. Software Maintenance, pp. 63-69, Nov. 1990.
[37] J. Neter, W. Wasserman, and M. Kutner, Applied Linear Statistical Models: Regression, Analysis of Variance, and Experimental Designs, third ed. Boston: Irwin, 1990.
[38] T. Pearse and P. Oman, Maintainability Measurements on Industrial Source Code Maintenance Activities Proc. IEEE Int'l Conf. Software Maintenance, pp. 295-303, Oct. 1995.
[39] L.S. Rising, “Information Hiding Metrics for Modular Programming Languages,” PhD dissertation, Arizona State Univ., 1992.
[40] H.D. Rombach, “A Controlled Experiment on the Impact of Software Structure on Maintainability,” IEEE Trans. Software Eng., pp. 344-354, Mar. 1987.
[41] D.H. Rombach, "Design Measurement: Some Lessons Learned," IEEE Software, vol. 7, no. 2, pp. 17-25, Mar. 1990.
[42] R.D. Snee, “Validation of Regression Models: Methods and Examples,” Technometrics, vol. 19, pp. 415-428, 1977.
[43] H.M. Sneed, “Applying Size Complexity and Quality Metrics to an Object-Oriented Application,” Proc. European Software Control and Metrics Conf.-Software Certification Programme in Europe (ESCOM-SCOPE), 1999.
[44] H.M. Sneed and T. Dombovari, “Comprehending a Complex, Distributed, Object-oriented Software System: A Report from the Field,” Proc. Seventh Int'l Workshop Program Comprehension, 1999.
[45] M. Stone, “Cross-Validatory Choice and Assessment of Statistical Predictions (with Discussion),” J. Royal Statistical Soc. B, vol. 36, pp. 111-147, 1974.
[46] D. Taylor, “Software Metrics for Object-Oriented Technology,” Object Magazine, pp. 22-28, Mar.-Apr. 1993.
[47] D.P. Tegarden, S.D. Sheetz, and D.E. Monarchi, “A Software Complexity Model of Object-Oriented Systems,” Decision Support Systems, vol. 13, nos. 3/4, pp. 241-262, Mar. 1995.
[48] W.N. Venables and B.D. Ripley, Modern Applied Statistics with S_PLUS. Springer, 1999.
[49] E.J. Weyuker, "Evaluating Software Complexity Measures," IEEE Trans. Software Eng., Vol. 14, No. 9, 1988, pp. 1357-1365.
[50] N. Wilde and R. Huitt, “Maintenance Support for Object-Oriented Programs,” IEEE Trans. Software Eng., pp. 1038-1044, Dec. 1992.

Index Terms:
Object-oriented metrics, software maintenance, metrics validation, predicting software maintenance time.
Citation:
Rajendra K. Bandi, Vijay K. Vaishnavi, Daniel E. Turk, "Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics," IEEE Transactions on Software Engineering, vol. 29, no. 1, pp. 77-87, Jan. 2003, doi:10.1109/TSE.2003.1166590
Usage of this product signifies your acceptance of the Terms of Use.