Skip to main content
Erschienen in: Empirical Software Engineering 3/2012

01.06.2012

The ability of object-oriented metrics to predict change-proneness: a meta-analysis

verfasst von: Hongmin Lu, Yuming Zhou, Baowen Xu, Hareton Leung, Lin Chen

Erschienen in: Empirical Software Engineering | Ausgabe 3/2012

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Many studies have investigated the relationships between object-oriented (OO) metrics and change-proneness and conclude that OO metrics are able to predict the extent of change of a class across the versions of a system. However, there is a need to re-examine this subject for two reasons. First, most studies only analyze a small number of OO metrics and, therefore, it is not clear whether this conclusion is applicable to most, if not all, OO metrics. Second, most studies only uses relatively few systems to investigate the relationships between OO metrics and change-proneness and, therefore, it is not clear whether this conclusion can be generalized to other systems. In this paper, based on 102 Java systems, we employ statistical meta-analysis techniques to investigate the ability of 62 OO metrics to predict change-proneness. In our context, a class which is changed in the next version of a system is called change-prone and not change-prone otherwise. The investigated OO metrics cover four metric dimensions, including 7 size metrics, 18 cohesion metrics, 20 coupling metrics, and 17 inheritance metrics. We use AUC (the area under a relative operating characteristic, ROC) to evaluate the predictive effectiveness of OO metrics. For each OO metric, we first compute AUCs and the corresponding variances for individual systems. Then, we employ a random-effect model to compute the average AUC over all systems. Finally, we perform a sensitivity analysis to investigate whether the AUC result from the random-effect model is robust to the data selection bias in this study. Our results from random-effect models reveal that: (1) size metrics exhibit moderate or almost moderate ability in discriminating between change-prone and not change-prone classes; (2) coupling and cohesion metrics generally have a lower predictive ability compared to size metrics; and (3) inheritance metrics have a poor ability to discriminate between change-prone and not change-prone classes. Our results from sensitivity analyses show that these conclusions reached are not substantially influenced by the data selection bias.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
The raw data are available at http://​thedata.​org.
 
2
Assuming a reasonably-sized data set, Hopkins calls a correlation value of less than 0.1 trivial, 0.1–0.3 minor, 0.3–0.5 moderate, 0.5–0.7 large, 0.7–0.9 very large, and 0.9–1 almost perfect (Hopkins 2003).
 
Literatur
Zurück zum Zitat Aman H, Yamasaki K, Yamada H, Noda MT (2002) A proposal of class cohesion metrics using sizes of cohesive parts. Knowledge-based Software Engineering. In: T. Welzer et al. (eds.) IOS Press, 102–107 Aman H, Yamasaki K, Yamada H, Noda MT (2002) A proposal of class cohesion metrics using sizes of cohesive parts. Knowledge-based Software Engineering. In: T. Welzer et al. (eds.) IOS Press, 102–107
Zurück zum Zitat Arisholm E, Briand LC, Føyen A (2004) Dynamic coupling measurement for object-oriented software. IEEE Trans Softw Eng 30(8):491–506CrossRef Arisholm E, Briand LC, Føyen A (2004) Dynamic coupling measurement for object-oriented software. IEEE Trans Softw Eng 30(8):491–506CrossRef
Zurück zum Zitat Badri L, Badri M (2004) A proposal of a new class cohesion criterion: an empirical study. J Object Tech 3(4):145–159CrossRef Badri L, Badri M (2004) A proposal of a new class cohesion criterion: an empirical study. J Object Tech 3(4):145–159CrossRef
Zurück zum Zitat Bansiya J, Etzkorn L, Davis C, Li W (1999) A class cohesion metric for object-oriented designs. J Object-Oriented Program 11(8):47–52 Bansiya J, Etzkorn L, Davis C, Li W (1999) A class cohesion metric for object-oriented designs. J Object-Oriented Program 11(8):47–52
Zurück zum Zitat Benlarbi S, Melo WL (1999) Polymorphism measures for early risk prediction. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, California, United States, 334–344 Benlarbi S, Melo WL (1999) Polymorphism measures for early risk prediction. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, California, United States, 334–344
Zurück zum Zitat Bieman JM, Kang BK (1995) Cohesion and reuse in an object-oriented system. ACM SIGSOFT Software Eng Notes 20(Special Issue):259–262CrossRef Bieman JM, Kang BK (1995) Cohesion and reuse in an object-oriented system. ACM SIGSOFT Software Eng Notes 20(Special Issue):259–262CrossRef
Zurück zum Zitat Bieman JM, Jain D, Yang HJ (2001) OO design patterns, design structure, and program changes: an industrial case study. In: Proceedings of the 17th International Conference on Software Maintenance, 580–589 Bieman JM, Jain D, Yang HJ (2001) OO design patterns, design structure, and program changes: an industrial case study. In: Proceedings of the 17th International Conference on Software Maintenance, 580–589
Zurück zum Zitat Bieman JM, Straw G, Wang H, Munger PW, Alexander RT (2003a) Design patterns and change proneness: an examination of five evolving systems. In: Proceedings of the 9th Software Metrics Symposium, 40–49 Bieman JM, Straw G, Wang H, Munger PW, Alexander RT (2003a) Design patterns and change proneness: an examination of five evolving systems. In: Proceedings of the 9th Software Metrics Symposium, 40–49
Zurück zum Zitat Bieman JM, Andrews AA, Yang HJ (2003b) Understanding change-proneness in OO software through visualization. In: Proceedings of the 11th Workshop on Program Comprehension, 44–53 Bieman JM, Andrews AA, Yang HJ (2003b) Understanding change-proneness in OO software through visualization. In: Proceedings of the 11th Workshop on Program Comprehension, 44–53
Zurück zum Zitat Borenstein M, Hedges LV, Higgins JPT, Rothstein HR (2009) Introduction to Meta-analysis. John Wiley & Sons, Ltd Borenstein M, Hedges LV, Higgins JPT, Rothstein HR (2009) Introduction to Meta-analysis. John Wiley & Sons, Ltd
Zurück zum Zitat Briand LC, Wüst J (2001) Modeling development effort in object-oriented systems using design properties. IEEE Trans Softw Eng 27(11):963–986CrossRef Briand LC, Wüst J (2001) Modeling development effort in object-oriented systems using design properties. IEEE Trans Softw Eng 27(11):963–986CrossRef
Zurück zum Zitat Briand LC, Morasca S, Basili VR (1996) Property-based software engineering measurement. IEEE Trans Softw Eng 22(1):68–86CrossRef Briand LC, Morasca S, Basili VR (1996) Property-based software engineering measurement. IEEE Trans Softw Eng 22(1):68–86CrossRef
Zurück zum Zitat Briand LC, Devanbu PT, Melo WL (1997) An investigation into coupling measures for C++. In: Proceedings of ICSE, 412–421 Briand LC, Devanbu PT, Melo WL (1997) An investigation into coupling measures for C++. In: Proceedings of ICSE, 412–421
Zurück zum Zitat Briand LC, Daly JW, Wüst J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117CrossRef Briand LC, Daly JW, Wüst J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117CrossRef
Zurück zum Zitat Briand LC, Daly JW, Wüst J (1999) A unified framework for coupling measurement in object-oriented systems. IEEE Trans Softw Eng 25(1):91–121CrossRef Briand LC, Daly JW, Wüst J (1999) A unified framework for coupling measurement in object-oriented systems. IEEE Trans Softw Eng 25(1):91–121CrossRef
Zurück zum Zitat Briand LC, Wüst J, Daly JW, Porter DV (2000) Exploring the relationships between design measures and software quality in object-oriented systems. J Syst Softw 51(3):245–273CrossRef Briand LC, Wüst J, Daly JW, Porter DV (2000) Exploring the relationships between design measures and software quality in object-oriented systems. J Syst Softw 51(3):245–273CrossRef
Zurück zum Zitat Chidamber SR, Kemerer CF (1991) Towards a metrics suite for object-oriented design. In: the 6th Annual Conference of Object-oriented Programming, Systems, Languages, and Applications, Arizona, 197–211 Chidamber SR, Kemerer CF (1991) Towards a metrics suite for object-oriented design. In: the 6th Annual Conference of Object-oriented Programming, Systems, Languages, and Applications, Arizona, 197–211
Zurück zum Zitat Chidamber SR, Kemerer CF (1994) A metrics suite for object-oriented design. IEEE Trans Softw Eng 20(6):476–493CrossRef Chidamber SR, Kemerer CF (1994) A metrics suite for object-oriented design. IEEE Trans Softw Eng 20(6):476–493CrossRef
Zurück zum Zitat Counsell S, Swift S, Crampton J (2006) The interpretation and utility of three cohesion metrics for object-oriented design. ACM Trans Softw Eng Methodol 15(2):123–149CrossRef Counsell S, Swift S, Crampton J (2006) The interpretation and utility of three cohesion metrics for object-oriented design. ACM Trans Softw Eng Methodol 15(2):123–149CrossRef
Zurück zum Zitat Di Penta M, Cerulo L, Gueheneuc YG, Antoniol G (2008) An empirical study of the relationships between design pattern roles and class change-proneness. In Proceedings of the 24th International Conference on Software Maintenance, 217–226 Di Penta M, Cerulo L, Gueheneuc YG, Antoniol G (2008) An empirical study of the relationships between design pattern roles and class change-proneness. In Proceedings of the 24th International Conference on Software Maintenance, 217–226
Zurück zum Zitat Dickinson W, Leon D, Podgurski A (2001) Finding failures by cluster analysis of execution profiles. In: Proceedings of the 23rd International Conference on Software Engineering, 339–348 Dickinson W, Leon D, Podgurski A (2001) Finding failures by cluster analysis of execution profiles. In: Proceedings of the 23rd International Conference on Software Engineering, 339–348
Zurück zum Zitat Duval S, Tweedie R (2000) Trim and fill: a simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis. Biometrics 56(2):455–463MATHCrossRef Duval S, Tweedie R (2000) Trim and fill: a simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis. Biometrics 56(2):455–463MATHCrossRef
Zurück zum Zitat El Emam K, Benlarbi S, Goel N, Rai SN (2001) The confounding effect of class size on the validity of object-oriented metrics. IEEE Trans Softw Eng 27(7):630–650CrossRef El Emam K, Benlarbi S, Goel N, Rai SN (2001) The confounding effect of class size on the validity of object-oriented metrics. IEEE Trans Softw Eng 27(7):630–650CrossRef
Zurück zum Zitat Hanley JA, McNeil BJ (1982) The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology 143(1):29–36 Hanley JA, McNeil BJ (1982) The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology 143(1):29–36
Zurück zum Zitat Hannay JE, Dybå T, Arisholm E, Sjøberg DIK (2009) The effectiveness of pair-programming: a meta-analysis. Inf Softw Technol 51(7):1110–1122CrossRef Hannay JE, Dybå T, Arisholm E, Sjøberg DIK (2009) The effectiveness of pair-programming: a meta-analysis. Inf Softw Technol 51(7):1110–1122CrossRef
Zurück zum Zitat Hayes W (1999) Research synthesis in software engineering: A case for meta-analysis. In: Proceedings of the 6th IEEE International Software Metrics Symposium, 143–151 Hayes W (1999) Research synthesis in software engineering: A case for meta-analysis. In: Proceedings of the 6th IEEE International Software Metrics Symposium, 143–151
Zurück zum Zitat Henderson-Sellers B (1996) Software metrics. Prentice-Hall, Hemel Hempstaed Henderson-Sellers B (1996) Software metrics. Prentice-Hall, Hemel Hempstaed
Zurück zum Zitat Higgins J, Thompson S, Deeks J, Altman D (2003) Measuring inconsistency in meta-analyses. Br Med J 327:557–560CrossRef Higgins J, Thompson S, Deeks J, Altman D (2003) Measuring inconsistency in meta-analyses. Br Med J 327:557–560CrossRef
Zurück zum Zitat Hitz M, Montazeri B (1995) Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing, Monterrey, Mexico Hitz M, Montazeri B (1995) Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing, Monterrey, Mexico
Zurück zum Zitat Hopkins WG (2003) A new view of statistics. SportScience. Dunedin, New Zealand Hopkins WG (2003) A new view of statistics. SportScience. Dunedin, New Zealand
Zurück zum Zitat Julious SA (2004) Using confidence intervals around individual means to assess statistical significance between two means. Pharm Stat 3(3):217–222CrossRef Julious SA (2004) Using confidence intervals around individual means to assess statistical significance between two means. Pharm Stat 3(3):217–222CrossRef
Zurück zum Zitat Kim E, Kusumoto S, Kikuno T (1996) Heuristics for computing attribute values of C++ program complexity metrics. In: Proceedings of the 20th Conference on Computer Software and Applications, 104–109 Kim E, Kusumoto S, Kikuno T (1996) Heuristics for computing attribute values of C++ program complexity metrics. In: Proceedings of the 20th Conference on Computer Software and Applications, 104–109
Zurück zum Zitat Koru AG, Liu H (2007) Identifying and characterizing change-prone classes in two large-scale open-source products. J Syst Softw 80(1):63–73CrossRef Koru AG, Liu H (2007) Identifying and characterizing change-prone classes in two large-scale open-source products. J Syst Softw 80(1):63–73CrossRef
Zurück zum Zitat Koru AG, Tian J (2005) Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products. IEEE Trans Softw Eng 31(8):625–642CrossRef Koru AG, Tian J (2005) Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products. IEEE Trans Softw Eng 31(8):625–642CrossRef
Zurück zum Zitat Lake A, Cook C (1994) Use of factor analysis to develop OOP software complexity metrics. In: Proceedings of the 6th Annual Oregon Workshop on Software Metrics. Silver Falls, Oregon Lake A, Cook C (1994) Use of factor analysis to develop OOP software complexity metrics. In: Proceedings of the 6th Annual Oregon Workshop on Software Metrics. Silver Falls, Oregon
Zurück zum Zitat Lee Y, Liang B, Wu S, Wang F (1995) Measuring the coupling and cohesion of an object-oriented program based on information flow. In: Proceedings of the International Conference on Software Quality. Maribor, Slovenia Lee Y, Liang B, Wu S, Wang F (1995) Measuring the coupling and cohesion of an object-oriented program based on information flow. In: Proceedings of the International Conference on Software Quality. Maribor, Slovenia
Zurück zum Zitat Li W, Henry SM (1993) Object-oriented metrics that predict maintainability. J Syst Softw 23(2):111–122CrossRef Li W, Henry SM (1993) Object-oriented metrics that predict maintainability. J Syst Softw 23(2):111–122CrossRef
Zurück zum Zitat Lindvall M (1998) Are large C++ classes change-prone? An empirical investigation. Software Pract Ex 28(15):1551–1558CrossRef Lindvall M (1998) Are large C++ classes change-prone? An empirical investigation. Software Pract Ex 28(15):1551–1558CrossRef
Zurück zum Zitat Lindvall M (1999) Measurement of change: stable and change-prone constructs in a commercial C++ system. In: Proceedings of the 6th Software Metrics Symposium, 40–49 Lindvall M (1999) Measurement of change: stable and change-prone constructs in a commercial C++ system. In: Proceedings of the 6th Software Metrics Symposium, 40–49
Zurück zum Zitat Lorenz M, Kidd J (1994) Object-oriented software metrics. Prentice Hall Object-Oriented Series, Englewood Cliffs Lorenz M, Kidd J (1994) Object-oriented software metrics. Prentice Hall Object-Oriented Series, Englewood Cliffs
Zurück zum Zitat Miller J (2000) Applying meta-analytical procedures to software engineering experiments. J Syst Softw 54(1):29–39CrossRef Miller J (2000) Applying meta-analytical procedures to software engineering experiments. J Syst Softw 54(1):29–39CrossRef
Zurück zum Zitat Myers EW (1986) An O(ND) difference algorithm and its variations. Algorithmic 1(2):251–266MATHCrossRef Myers EW (1986) An O(ND) difference algorithm and its variations. Algorithmic 1(2):251–266MATHCrossRef
Zurück zum Zitat Payton ME, Greenstone MH, Schenker N (2003) Overlapping confidence intervals or standard error intervals: what do they mean in terms of statistical significance? J Insect Sci 34(3):1–6 Payton ME, Greenstone MH, Schenker N (2003) Overlapping confidence intervals or standard error intervals: what do they mean in terms of statistical significance? J Insect Sci 34(3):1–6
Zurück zum Zitat Pickard L, Kitchenham B, Jones P (1998) Combining empirical results in software engineering. Inf Softw Technol 40(14):811–821CrossRef Pickard L, Kitchenham B, Jones P (1998) Combining empirical results in software engineering. Inf Softw Technol 40(14):811–821CrossRef
Zurück zum Zitat Succi G, Pedrycz W, Djokic S, Zuliani P, Russo B (2005) An empirical exploration of the distributions of the Chidamber and Kemerer Object-oriented metrics suite. Empir Softw Eng 10(1):81–104CrossRef Succi G, Pedrycz W, Djokic S, Zuliani P, Russo B (2005) An empirical exploration of the distributions of the Chidamber and Kemerer Object-oriented metrics suite. Empir Softw Eng 10(1):81–104CrossRef
Zurück zum Zitat Tegarden D, Sheetz S, Monarchi D (1992) A software complexity model of object-oriented systems. Decis Support Syst 13(34):241–262 Tegarden D, Sheetz S, Monarchi D (1992) A software complexity model of object-oriented systems. Decis Support Syst 13(34):241–262
Zurück zum Zitat Witten IH, Frank E (2000) Data mining: practical machine learning tools and techniques with Java implementation. Second Edition, Morgan Kaufmann Publishers Witten IH, Frank E (2000) Data mining: practical machine learning tools and techniques with Java implementation. Second Edition, Morgan Kaufmann Publishers
Zurück zum Zitat Zhou Y, Xu B, Leung H (2009) Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness. IEEE Trans Softw Eng 35(5):607–623CrossRef Zhou Y, Xu B, Leung H (2009) Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness. IEEE Trans Softw Eng 35(5):607–623CrossRef
Zurück zum Zitat Zhou Y, Xu B, Leung H (2010) On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. J Syst Softw 83(4):660–674CrossRef Zhou Y, Xu B, Leung H (2010) On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. J Syst Softw 83(4):660–674CrossRef
Metadaten
Titel
The ability of object-oriented metrics to predict change-proneness: a meta-analysis
verfasst von
Hongmin Lu
Yuming Zhou
Baowen Xu
Hareton Leung
Lin Chen
Publikationsdatum
01.06.2012
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 3/2012
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-011-9170-z

Weitere Artikel der Ausgabe 3/2012

Empirical Software Engineering 3/2012 Zur Ausgabe

Premium Partner