The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - September/October (2009 vol.35)
pp: 607-623
Yuming Zhou , State Key Laboratory for Novel Software Technology and Nanjing University, Jiangsu
Hareton Leung , Hong Kong Polytechnic University, Hong Kong
Baowen Xu , State Key Laboratory for Novel Software Technology and Nanjing University, Jiangsu
ABSTRACT
Previous research shows that class size can influence the associations between object-oriented (OO) metrics and fault-proneness and therefore proposes that it should be controlled as a confounding variable when validating OO metrics on fault-proneness. Otherwise, their true associations may be distorted. However, it has not been determined whether this practice is equally applicable to other external quality attributes. In this paper, we use three size metrics, two of which are available during the high-level design phase, to examine the potentially confounding effect of class size on the associations between OO metrics and change-proneness. The OO metrics that are investigated include cohesion, coupling, and inheritance metrics. Our results, based on Eclipse, indicate that: 1) The confounding effect of class size on the associations between OO metrics and change-proneness, in general, exists, regardless of whichever size metric is used; 2) the confounding effect of class size generally leads to an overestimate of the associations between OO metrics and change-proneness; and 3) for many OO metrics, the confounding effect of class size completely accounts for their associations with change-proneness or results in a change of the direction of the associations. These results strongly suggest that studies validating OO metrics on change-proneness should also consider class size as a confounding variable.
INDEX TERMS
Object-oriented, metrics, validation, class size, confounding, change-proneness.
CITATION
Yuming Zhou, Hareton Leung, Baowen Xu, "Examining the Potentially Confounding Effect of Class Size on the Associations between Object-Oriented Metrics and Change-Proneness", IEEE Transactions on Software Engineering, vol.35, no. 5, pp. 607-623, September/October 2009, doi:10.1109/TSE.2009.32
REFERENCES
[1] K. El Emam, W. Melo, and J.C. Machado, “The Prediction of Faulty Classes Using Object-Oriented Design Metrics,” J. Systems and Software, vol. 56, no. 10, pp. 63-75, 2001.
[2] V.R. Basili, L.C. Briand, and W.L. Melo, “A Validation of Object-Oriented Design Metrics as Quality Indicators,” IEEE Trans. Software Eng., vol. 22, no. 10, pp. 751-761, Oct. 1996.
[3] L.C. Briand, J. Wüst, J.W. Daly, and D.V. Porter, “Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems,” J. Systems and Software, vol. 51, no. 3, pp. 245-273, 2000.
[4] L.C. Briand, J. Wust, S.V. Ikonomovski, and H. Lounis, “Investigating Quality Factors in Object-Oriented Designs: An Industrial Case Study,” Proc. 21st Int'l Conf. Software Eng., pp. 345-354, 1999.
[5] H.M. Olague, L.H. Etzkorn, S. Gholston, and S. Quattlebaum, “Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Process,” IEEE Trans. Software Eng., vol. 33, no. 6, pp. 402-419, June 2007.
[6] W. Li and S.M. Henry, “Object-Oriented Metrics that Predict Maintainability,” J. Systems and Software, vol. 23, no. 2, pp. 111-122, 1993.
[7] L.C. Briand and J. Wust, “Modeling Development Effort in Object-Oriented Systems Using Design Properties,” IEEE Trans. Software Eng., vol. 27, no. 11, pp. 963-986, Nov. 2001.
[8] R. Subramanyan and M.S. Krisnan, “Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects,” IEEE Trans. Software Eng., vol. 29, no. 4, pp.297-310, Apr. 2003.
[9] L.C. Briand, W.L. Melo, and J. Wust, “Assessing the Application of Fault-Proneness Models across Object-Oriented Software Projects,” IEEE Trans. Software Eng., vol. 28, no. 7, pp. 706-720, July 2002.
[10] D. Glasberg, K. El Eman, W. Memo, and N. Madhavji, “Validating Object-Oriented Design Metrics on a Commercial Java Application,” Technical Report NRC/ERB-1080, Inst. for Information Technology, Nat'l Research Council Canada, Sept. 2000.
[11] M. Bruntink and A. van Deursen, “An Empirical Study into Class Testability,” J. Systems and Software, vol. 79, no. 9, pp. 1219-1232, 2006.
[12] A. Janes, M. Scotto, W. Pedrycz, B. Russo, M. Stefanovic, and G. Succi, “Identification of Defect-Prone Classes in Telecommunication Software Systems Using Design Metrics,” Information Sciences, vol. 176, no. 24, pp. 3711-3734, 2006.
[13] G. Succi, W. Pedrycz, M. Stefanovic, and J. Miller, “Practical Assessment of the Models for Identification of Defect-Prone Classes in Object-Oriented Commercial Systems Using Design Metrics,” J. Systems and Software, vol. 65, no. 1, pp. 1-12, 2003.
[14] Y. Zhou and H. Leung, “Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults,” IEEE Trans. Software Eng., vol. 32, no. 10, pp. 771-789, Oct. 2006.
[15] K. El Emam, S. Benlarbi, N. Goel, and S.N. Rai, “The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics,” IEEE Trans. Software Eng., vol. 27, no. 7, pp. 630-650, July 2001.
[16] D.P. MacKinnon, J.L. Krull, and C.M. Lockwood, “Equivalence of the Mediation, Confounding and Suppression Effect,” Prevention Science, vol. 1, no. 4, pp. 173-181, 2000.
[17] M. Szklo and F.J. Nieto, Epidemiology: Beyond the Basics. Aspen Publication, 2000.
[18] G. Fitzmaurice, “Confused by Confounding?” Nutrition, vol. 19, no. 2, pp. 189-191, 2003.
[19] D.P. MacKinnon, C.M. Lockwood, J.M. Hoffman, S.G. West, and V. Sheets, “A Comparison of Methods to Test Mediation and Other Intervening Variable Effects,” Psychological Methods, vol. 7, no. 1, pp. 83-104, 2002.
[20] A.M. Sibai, M. Feinleib, T.A. Sibai, and H.K. Armenian, “A Positive or a Negative Confounding Variable? A Simple Teaching Aid for Clinicians and Students,” Annals of Epidemiology, vol. 15, no. 6, pp. 421-423, 2005.
[21] D.P. MacKinnon, M. Yoon, C.M. Lockwood, and A. Taylor, “A Comparison of Methods to Test Mediation and Other Intervening Variable Effects in Logistic Regression,” Psychological Methods, to appear.
[22] D.P. MacKinnon, C.M. Lockwood, C.H. Brown, and J.M. Hoffman, “The Intermediate Endpoint Effect in Logistic and Probit Regression,” Clinical Trials, vol. 4, no. 5, pp. 499-513, 2007.
[23] Scientific Toolworks, Inc., Understand for Java: User Guide and Reference Manual, http:/www.scitools.com, 2005.
[24] E.W. Myers, “An O(ND) Difference Algorithm and Its Variations,” Algorithmic, vol. 1, no. 2, pp. 251-266, 1986.
[25] M. Lindavall, “Are Large C++ Classes Change-Prone? An Empirical Investigation,” Software: Practice and Experience, vol. 28, no. 15, pp. 1551-1558, 1998.
[26] A.G. Koru and J. Tian, “Comparing High-Change Modules and Modules with the Highest Measurement Values in Two Large-Scale Open-Source Products,” IEEE Trans. Software Eng., vol. 31, no. 8, pp. 625-642, Aug. 2005.
[27] E. Arisholm, L.C. Briand, and A. Føyen, “Dynamic Coupling Measurement for Object-Oriented Software,” IEEE Trans. Software Eng., vol. 30, no. 8, pp. 491-506, Aug. 2004.
[28] J. Rosenberg, “Some Misconceptions about Lines of Code,” Proc. Fourth Int'l Software Metrics Symp., pp. 137-142, 1997.
[29] W.M. Evanco, “Comments on ‘the Confounding Effect of Class Size on the Validity of Object-Oriented Metrics’,” IEEE Trans. Software Eng., vol. 29, no. 7, pp. 670-672, July 2003.
[30] L.C. Briand, J.W. Daly, and J. Wüst, “A Unified Framework for Cohesion Measurement in Object-Oriented Systems,” Empirical Software Eng., vol. 3, no. 1, pp. 65-117, 1998.
[31] P. Bobko and A. Rieck, “Large Sample Estimators for Standard Errors of Functions of Correlation Coefficients,” Applied Psychological Measurement, vol. 4, no. 3, pp. 385-398, 1980.
[32] K. Pearson, “On Further Methods of Determining Correlation,” Math. Contributions to the Theory of Evolution, Cambridge Univ. Press, 1907.
[33] D.C. Howell, Statistical Methods for Psychology. Duxbury Press, 2002.
[34] J. Cohen, P. Cohen, S.G. West, and L.S. Aiken, Applied Multiple Regression/Correlation Analysis for the Behavioral Sciences. Lawrence Erlbaum Assoc., 2003.
[35] J.C. Reinard, Communication Research Statistics. Sage Publications, Inc., 2006.
[36] T. Gyimóthy, R. Ference, and L. Siket, “Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction,” IEEE Trans. Software Eng., vol. 31, no. 10, pp. 897-910, Oct. 2005.
[37] T. O'Reilly, “Lessons from Open-Source Software Development,” Comm. ACM, vol. 42, no. 4, pp. 32-37, 1999.
[38] W.G. Hopkins, A New View of Statistics. Sport Science, 2003.
[39] L.C. Briand, S. Morasca, and V.R. Basili, “Property-Based Software Engineering Measurement,” IEEE Trans. Software Eng., vol. 22, no. 1, pp. 68-86, Jan. 1996.
[40] L.C. Briand, J.W. Daly, and J. Wüst, “A Unified Framework for Coupling Measurement in Object-Oriented Systems,” IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-121, Jan./Feb. 1999.
[41] S.R. Chidamber and C.F. Kemerer, “Towards a Metrics Suite for Object-Oriented Design,” Proc. Sixth Ann. Conf. Object-Oriented Programming, Systems, Languages, and Applications, pp. 197-211, 1991.
[42] 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, June 1994.
[43] M. Hitz and B. Montazeri, “Measuring Coupling and Cohesion in Object-Oriented Systems,” Proc. Int'l Symp. Applied Corporate Computing, pp. 75-84, 1995.
[44] B. Henderson-Sellers, Software Metrics. Prentice-Hall, 1996.
[45] J.M. Bieman and B.K. Kang, “Cohesion and Reuse in an Object-Oriented System,” ACM SIGSOFT Software Eng. Notes, special issue, vol. 20, pp. 259-262, 1995.
[46] Y. Lee, B. Liang, S. Wu, and F. Wang, “Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow,” Proc. Int'l Conf. Software Quality, pp. 81-90, 1995.
[47] H. Aman, K. Yamasaki, H. Yamada, and M.T. Noda, “A Proposal of Class Cohesion Metrics Using Sizes of Cohesive Parts,” Proc. Fifth Joint Conf. Knowledge-Based Software Eng., pp. 102-107, 2002.
[48] L. Badri and M. Badri, “A Proposal of a New Class Cohesion Criterion: An Empirical Study,” J. Object Technology, vol. 3, no. 4, pp. 145-159, 2004.
[49] J. Bansiya, L. Etzkorn, C. Davis, and W. Li, “A Class Cohesion Metric for Object-Oriented Designs,” J. Object-Oriented Program, vol. 11, no. 8, pp. 47-52, 1999.
[50] S. Counsell, S. Swift, and J. Crampton, “The Interpretation and Utility of Three Cohesion Metrics for Object-Oriented Design,” ACM Trans. Software Eng. and Methodology, vol. 15, no. 2, pp. 123-149, 2006.
[51] L.C. Briand, P.T. Devanbu, and W.L. Melo, “An Investigation into Coupling Measures for C++,” Proc. 19th Int'l Conf. Software Eng., pp. 412-421, 1997.
[52] E. Kim, S. Kusumoto, and T. Kikuno, “Heuristics for Computing Attribute Values of C++ Program Complexity Metrics,” Proc. 20th Conf. Computer Software Applications, pp. 104-109, 1996.
[53] D. Tegarden, S. Sheetz, and D. Monarchi, “A Software Complexity Model of Object-Oriented Systems,” Decision Support Systems, vol. 13, no. 34, pp. 241-262, 1992.
[54] M. Lorenz and J. Kidd, Object-Oriented Software Metrics. Prentice Hall, 1994.
[55] A. Lake and C. Cook, “Use of Factor Analysis to Develop OOP Software Complexity Metrics,” Proc. Sixth Ann. Oregon Workshop Software Metrics, 1994.
[56] S. Benlarbi and W.L. Melo, “Polymorphism Measures for Early Risk Prediction,” Proc. 21st Int'l Conf. Software Eng., pp. 334-344, 1999.
[57] L.V. Hedges and I. Olkin, Statistical Methods for Meta-Analysis. Academic Press, 1985.
22 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool