본문 바로가기
KERD
논문KCI 등재

Prediction & Assessment of Change Prone Classes Using Statistical & Machine Learning Techniques

2

조회

0

다운로드

3

인용

0

참고문헌

키워드

초록

Software today has become an inseparable part of our life. In order to achieve the ever demanding needs ofcustomers, it has to rapidly evolve and include a number of changes. In this paper, our aim is to study therelationship of object oriented metrics with change proneness attribute of a class. Prediction models based onthis study can help us in identifying change prone classes of a software. We can then focus our efforts on thesechange prone classes during testing to yield a better quality software. Previously, researchers have used statisticalmethods for predicting change prone classes. But machine learning methods are rarely used for identificationof change prone classes. In our study, we evaluate and compare the performances of ten machine learningmethods with the statistical method. This evaluation is based on two open source software systems developedin Java language. We also validated the developed prediction models using other software data set in thesame domain (3D modelling). The performance of the predicted models was evaluated using receiver operatingcharacteristic analysis. The results indicate that the machine learning methods are at par with the statisticalmethod for prediction of change prone classes. Another analysis showed that the models constructed for asoftware can also be used to predict change prone nature of classes of another software in the same domain. This study would help developers in performing effective regression testing at low cost and effort. It will alsohelp the developers to design an effective model that results in less change prone classes, hence better maintenance.

Abstract

Software today has become an inseparable part of our life. In order to achieve the ever demanding needs ofcustomers, it has to rapidly evolve and include a number of changes. In this paper, our aim is to study therelationship of object oriented metrics with change proneness attribute of a class. Prediction models based onthis study can help us in identifying change prone classes of a software. We can then focus our efforts on thesechange prone classes during testing to yield a better quality software. Previously, researchers have used statisticalmethods for predicting change prone classes. But machine learning methods are rarely used for identificationof change prone classes. In our study, we evaluate and compare the performances of ten machine learningmethods with the statistical method. This evaluation is based on two open source software systems developedin Java language. We also validated the developed prediction models using other software data set in thesame domain (3D modelling). The performance of the predicted models was evaluated using receiver operatingcharacteristic analysis. The results indicate that the machine learning methods are at par with the statisticalmethod for prediction of change prone classes. Another analysis showed that the models constructed for asoftware can also be used to predict change prone nature of classes of another software in the same domain. This study would help developers in performing effective regression testing at low cost and effort. It will alsohelp the developers to design an effective model that results in less change prone classes, hence better maintenance.

참고문헌 (46)

  1. H. Lu, "The ability of object-oriented metrics to predict changeproneness : a meta-analysis", Empirical Software Engineering, 17(3), pp.200~242 (2012)
  2. K. K. Aggarwal, "Empirical analysis for investigating the effect of objectoriented metrics on fault proneness : a replicated case study", Software Process : Improvement and Practice, 14(1), pp.39~62 (2009)
  3. Y. Singh, "Empirical validation of object-oriented metrics for predicting fault proneness", Software Quality Journal, 18(1), pp.3~35 (2010)
  4. L. C. Briand, "Exploring the relationships between design measures and software quality in object-oriented systems", Journal of Systems and Software, 51(3), pp.245~273 (2000)
  5. M. Cartwright, "An empirical investigation of an object-oriented software system", IEEE Transactions on Software Engineering, 26(8), pp.786~796 (2000)
  6. M. English, "Fault detection and prediction in an open source software project", Proceedings of the 5th International Conference on Predictor Models in Software Engineering (PROMISE2009) (2009)
  7. R. Malhotra, "Software effort prediction using statistical and machine learning method", International Journal of Advanced Computer Science and Applications, 2(1), pp.145~152 (2011)
  8. A. Han, "Behavioral dependency measurement for change proneness prediction in UML 2.0 design models", Proceedings of the 32nd Annual IEEE International Conference on Computer Software and Applications (COMPSAC2008), pp.76~83 (2008)
  9. M. Ajrnal Chaumum, "A change impact model for changeability assessment in object oriented software systems", Proceedings of the 3rd European Conference on Software Maintenance and Reengineering, pp.130~138 (1999)
  10. N. Tsantalis, "Predicting the probability of change in object oriented systems", IEEE Transactions on Software Engineering, 31(7), pp.601~614 (2005)
  11. A. R. Sharafat, "A probabilistic approach to predict change in object-oriented software systems", Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR2007), pp.27~38 (2007)
  12. Y. Zhou, "Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness", IEEE Transactions on Software Engineering, 35(5), pp.607~623 (2009)
  13. L. Malhotra, "Advanced Research and Trends in New Technologies, Software, Human-Computer Interaction and Communicability", pp.193~202 (2014), IGI Global
  14. "Understand your code official website"[URL]
  15. "Understand your code - About SciTools"[URL]
  16. "Understand your code - Metrics"[URL]
  17. S. R. Chidamber, "A metrics suite for object oriented design", IEEE Transactions on Software Engineering, 20(6), pp.476~493 (1994)
  18. K. K. Aggarwal, "Empirical study of object-oriented metrics", Journal of Object Technology, 5(8), pp.149~173 (2006)
  19. B. Henderson-Sellers, "Object-Oriented Metrics: Measures of Complexity" (1996), Prentice Hall
  20. M. Lorenz, "Object-oriented Software Metrics: A Practical Guide" (1994), Prentice Hall
  21. "Understand your code - County metrics"[URL]
  22. "Understand your code - Complexity metrics"[URL]
  23. "Understand your code - Object oriented metrics"[URL]
  24. S. R. Chidamber, "Managerial use of metrics for object-oriented software : an exploratory analysis", IEEE Transactions on Software Engineering, 24(8), pp.629~639 (1998)
  25. V. R. Basili, "A validation of object-oriented design metrics as quality indicators", IEEE Transactions on Software Engineering, 22(10), pp.751~761 (1996)
  26. D. W. Hosmer, "Applied Logistic Regression" (1989), Wiley
  27. "Weka 3: Data Mining Software in Java"[URL]
  28. M. A. Hall, "Correlation based feature selection for discrete and numeric class machine learning", Proceedings of the 17th International Conference on Machine Learning (ICML2000), pp.359~366 (2000)
  29. K. Michalak, "Correlation based feature selection strategy in neural classification", Proceedings of the 6th International Conference on Intelligent Systems Design and Applications (ISDA2006), pp.741~746 (2006)
  30. I. H. Witten, "Data Mining: Practical Machine Learning Tools and Techniques" (2011), Morgan Kaufmann
  31. Y. Freund, "A short introduction to boosting", Journal of Japanese Society for Artificial Intelligence, 14(5), pp.771~780 (1999)
  32. "AdaBoost"[URL]
  33. L. Breiman, "Bagging predictors", Machine Learning, 24(2), pp.123~140 (1996)
  34. S. Haykin, "Neural Networks: A Comprehensive Foundation" (1999), Pearson education
  35. "Bayesian Networks" (1988)[URL]
  36. "Bayes Nets"[URL]
  37. Naive Bayes classifiers, "K. P. Murphy", University of British Columbia, ~ (2006)
  38. "C4.5 algorithm"[URL]
  39. J. Friedman, "Additive logistic regression : a statistical view of boosting", The Annals of Statistics, 28(2), pp.337~407 (2000)
  40. M. Stone, "Cross-validatory choice and assessment of statistical predictions", Journal of the Royal Statistical Society Series B : Methodological, 36(2), pp.111~147 (1974)
  41. A validation of object-oriented metrics, "K. El-Emam", National Research Council of Canada, ~, pp.Technical Report ERB-1063 (1999)
  42. K. K. Aggarwal, "Software Engineering" (2007), New Age International Publishers
  43. A. G. Koru, "Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products", IEEE Transactions on Software Engineering, 31(8), pp.625~642 (2005)
  44. L. C. Briand, "A unified framework for cohesion measurement in object-oriented systems", Empirical Software Engineering, 3(1), pp.65~117 (1998)
  45. L. C. Briand, "A unified framework for coupling measurement in object-oriented systems", IEEE Transactions on Software Engineering, 25(1), pp.91~121 (1999)
  46. L. C. Briand, "Replicated case studies for investigating quality factors in object-oriented designs", Empirical Software Engineering, 6(1), pp.11~58 (2001)

관련 논문AI추천

이 간행물의 다른 논문 (25건)