Abstract
Software is the heartbeat of modern day technology. In order to keep up with the pace of modern day expansion, change in any software is inevitable. Defects and enhancements are the two main reasons for a software change. The aim of this paper is to study the relationship between object oriented metrics and change proneness. Software prediction models based on these results can help us identify change prone classes of a software which would lead to more rigorous testing and better results. In the previous research, the use of machine learning methods for predicting faulty classes was found. However till date no study determines the effectiveness of machine learning methods for predicting change prone classes. Statistical and machine learning methods are two different techniques for software quality prediction. We evaluate and compare the performance of these machine learning methods with statistical method (logistic regression). The results are based on three chosen open source software, written in java language. The performance of the predicted models was evaluated using receiver operating characteristic analysis. The study shows that machine learning methods are comparable to regression techniques. Testing based on change proneness of a software leads to better quality by targeting the most change prone classes. Thus, the developed models can be used to reduce the probability of defect occurrence and we commit ourselves to better maintenance.
Similar content being viewed by others
References
Li W, Henry S, Kafura D, Schulman R (1995) Measuring object-oriented design. J Object Oriented Program 8(4):48–55
Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493
Lorenz M, Kidd J (1994) Object-oriented software metrics. In: Prentice Hall object-oriented series. Prentice Hall, Englewood Cliffs
Henderson-sellers B (1996) Object-oriented metrics. In: Measures of complexity. Prentice Hall, New Jersey
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2006) Empirical study of object-oriented metrics. J Object Technol 5(8):149–173
Li W, Henry S (1993) Object oriented metrics that predict maintainability. J Syst Softw 23:111–122
Briand L, Wust J, Lounis H (2001) Replicated case studies for investigating quality factors in object oriented designs. Empir Softw Eng Int J 6:11–58
Basili VR, Briand LC, Melo WL (1996) A validation of object-oriented design metrics as quality indicators. IEEE Trans Softw Eng 22(10):751–761
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2009) Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: a replicated case study. Softw Process Improv Pract 16(1):39–62
Arisholn E, Briand LC (2006) Predicting fault prone components in a Java legacy system. In: Proceeding of 2006 ACM/IEEE international symposium on empirical software engineering, pp 8–17
Briand L, Wust J, Daly J, Porter DV (2000) Exploring the relationships between design measures and software quality in object-oriented systems. J Syst Softw 51(3):245–273
Singh Y, Kaur A, Malhotra R (2010) Empirical validation of object-oriented metrics for predicting fault proneness. Softw Qual J 18(1):3–35
Chidamber SR, Darcy DP, Kemerer CF (1998) Managerial use of metrics for object-oriented software: an exploratory analysis. IEEE Trans Softw Eng 24(8):629–639
Cartwright M, Shepperd M (2000) An empirical investigation of an object-oriented software system. IEEE Trans Softw Eng 26(8):786–796
Aggarwal KK, Singh Y (2007) Software engineering, 2nd edn. New Age International Publishers, Delhi
Parnas DL (2001) Some software engineering principles. In: Software fundamentals: collected papers by David L Parnas, pp 257–266
Han AR, Jeon S, Bae D, Hong J (2008) Behavioral dependency measurement for change proneness prediction in UML 2.0 design models, in computer software and applications 32nd annual IEEE international
D’Ambros M, Lanza M, Robbes R (2009) On the relationship between change coupling and software defects in 16th working conference on reverse engineering, pp 135–144
Sharafat AR, Tavildari L (2007) Change prediction in object oriented software systems: a probabilistic approach in 11th European conference on software maintenance and reengineering
Chaumum MA, Kabaili H, Keller RK, Lustman F (1999) A change impact model for changeability assessment in object oriented software systems in third european conference on software maintenance and reengineering, pp 130
Zhou Y, Leung H, Xu B (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–623
Bieman J, Straw G, Wang H, Munger PW, Alexander RT (2003) Design patterns and change proneness: an examination of five evolving systems. In: The proceeding of 9th international software metrics symposium
Tsantalis N, Chatzigeorgiou A, Stephanides G (2005) Predicting the probability of change in object oriented systems. IEEE Trans Softw Eng 31(7):601–614
Hosmer D, Lemeshow S (1989) Applied logistic regression. Wiley, New York
Bashir Musa A (2012) Comparative study on classification performance between support vector machine and logistic regression. Int J Mach Learn Cyber. doi:10.1007/s13042-012-0068-x
Sidorov G, Koeppen M, Cruz-Corts N (2011) Recent advances in machine learning techniques and applications. Int J Mach Learn Cyber 2(3):123–124
Hall MA (2000) Correlation-based feature selection for discrete and numeric class machine learning. In: Proceeding of the seventeenth international conference on machine learning, pp 359–366
Michalak K, Kwasnicka H (2006) Correlation-based feature selection strategy in neural classification. In: Sixth international conference on intelligent systems design and applications, vol 1, pp 741–746
Breiman L (1996) Bagging predictors. Mach Learn 24:123–140
Bengio S (2006) Statistical machine learning from data ensembles. IDIAP Research Institute, Martigny, January 27
Breiman L (2001) Random forests. Mach Learn 45(1):5–32
Biau G, Devroye L, Lugosi G (2008) Consistency of random forests and other averaging classifiers. J Mach Learn Res 9:2015–2033
Livingston F (2005) Implementation of Breiman’s random forest machine learning algorithm. Mach Learn J ECE591Q
Haykin S (2004) Neural networks: a comprehensive foundation, 2nd edn. Pearson Education, Delhi
El Emam K, Benlarbi S, Goel N, Rai SN (1999) A validation of object-oriented metrics. In: Technical report ERB-1063, NRC
Stone M (1974) Cross-validatory choice and assessment of statistical predictions. J R Stat Soc Ser A 36:111–114
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–642
Briand L, Daly J, Wust J (1998) A unified framework for cohesion measurement in object-oriented systems. Empir Softw Eng 3(1):65–117
Briand L, Daly J, Wust J (1999) A unified framework for coupling measurement in object-oriented systems. IEEE Trans Softw Eng 25(1):91–121
Briand L, Wust J, Lounis H (2001) Replicated case studies for investigating quality factors in object-oriented designs. Empir Softw Eng Int J 6(1):11–58
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Malhotra, R., Khanna, M. Investigation of relationship between object-oriented metrics and change proneness. Int. J. Mach. Learn. & Cyber. 4, 273–286 (2013). https://doi.org/10.1007/s13042-012-0095-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13042-012-0095-7