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

Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality

2

조회

0

다운로드

0

인용

0

참고문헌

키워드

초록

An understanding of quality attributes is relevant for the software organization to deliver high software reliability. An empirical assessment of metrics to predict the quality attributes is essential in order to gain insight about the quality of software in the early phases of software development and to ensure corrective actions. In this paper, we predict a model to estimate fault proneness using Object Oriented CK metrics and QMOOD metrics. We apply one statistical method and six machine learning methods to predict the models. The proposed models are validated using dataset collected from Open Source software. The results are analyzed using Area Under the Curve (AUC)obtained from Receiver Operating Characteristics (ROC) analysis. The results show that the model predicted using the random forest and bagging methods outperformed all the other models. Hence, based on these results it is reasonable to claim that quality models have a significant relevance with Object Oriented metrics and that machine learning methods have a comparable performance with statistical methods

Abstract

An understanding of quality attributes is relevant for the software organization to deliver high software reliability. An empirical assessment of metrics to predict the quality attributes is essential in order to gain insight about the quality of software in the early phases of software development and to ensure corrective actions. In this paper, we predict a model to estimate fault proneness using Object Oriented CK metrics and QMOOD metrics. We apply one statistical method and six machine learning methods to predict the models. The proposed models are validated using dataset collected from Open Source software. The results are analyzed using Area Under the Curve (AUC)obtained from Receiver Operating Characteristics (ROC) analysis. The results show that the model predicted using the random forest and bagging methods outperformed all the other models. Hence, based on these results it is reasonable to claim that quality models have a significant relevance with Object Oriented metrics and that machine learning methods have a comparable performance with statistical methods

참고문헌 (46)

  1. L. Briand, "Exploring the relationships between design measures and software quality", Journal of Systems and Software, 51(3), pp.245~273 (2000)
  2. G. Pai, "Empirical analysis of software fault content and fault proneness using Bayesian methods", IEEE Transactions on Software Eng, 33(10), pp.675~686 (2007)
  3. K. K. Aggarwal, "Empirical analysis for investigating the effect of object-oriented metrics on fault proneness : A replicated case study", Software Process : Improvement and Practice, 16(1), pp.39~62 (2009)
  4. Y. Singh, "Empirical vlidation of object-oriented metrics for predicting fault proneness models", Software Quality Journal, 18(1), pp.3~35 (2010)
  5. S. Chidamber, "A Metrics Suite for Object-Oriented Design", IEEE Trans. Soft Ware Eng, 20(6), pp.476~493 (1994)
  6. L.Briand, "An investigation into coupling Measures for C++", In Proceedings of the 19th International Conference on Software Engineering
  7. J. Bansiya, "A Hierarchical Model for Object-Oriented Design Quality Assessment", IEEE Trans. Software Eng, 28(1), pp.4~17 (2002)
  8. F. Brito e Abreu, "Evaluating the Impact of Object-Oriented Design on Software Quali ty", Proceedings Third Int’l Software Metrics Symposium, pp.90~99 (1996)
  9. M.Lorenz, "Object-Oriented Software Metrics" (1994), Prentice-Hall
  10. W. Li, "Object-Poiented Metrics that Predict Maintainability", In Journal of Software and Sytems, 23, pp.111~122 (1993)
  11. M. Cartwright, "An empirical investigation of an object-oriented software system", IEEE Transactions on Software Engineering, 26(8), pp.786~796 (1999)
  12. T.Gyimothy, "Empirical validation of object-oriented metrics on open source software for fault prediction", IEEE Transactions on Software Engineering, 31(10), pp.897~910 (2005)
  13. S. Kanmani, "Object-oriented software prediction using neural networks", Information and Software Technology, 49, pp.482~492 (2007)
  14. I. Gondra, "Applying machine learning to software fault-proneness prediction", The Journal of Systems and Software, 81, pp.186~195 (2008)
  15. "Promise"[URL]
  16. A validation of object-oriented metrics, "K. El Emam", ~, pp.NRC Technical report ERB-1063 (1999)
  17. N. Ohlsson, "Application of multivariate analysis for soft ware fault prediction", Software Quality Journal, 7, pp.51~66 (1998)
  18. T.M. Khoshgoftaar, "Early quality prediction : a case study in telecommunications", IEEE Software, 13(1), pp.65~71 (1996)
  19. The Prediction of Faulty Classes Using Object-Oriented Design Metrics, "K.E. Emam", ~, pp.Technical report: NRC 43609 (1999)
  20. M.H. Tang, "An empirical study on object-oriented metrics", InProceedings of Metrics, pp.242~249
  21. A comprehensive Investigation of Quality Factors in Object-Oriented Designs: An Industrial Case Study, "L. Briand", International Software Engineering Research Network, ~, pp.technical report ISERN-98-29 (1998)
  22. K. El Emam, "The confounding effect of class size on the validity of objectoriented metrics", IEEE Transactions on Software Engineering, 27(7), pp.630~650 (2001)
  23. L. Briand, "Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs", Empirical Software Engineering. International Journal(Toronto, Ont. ), 6(1), pp.11~58 (2001)
  24. P. Yu, "Predicting fault-proneness using OO metrics: An industrial case study", In Proceedings of Sixth European Conference on Software Maintenance and Reengineering,Budapest, Hungary, pp.99~107 (2002)
  25. Y. Zhou, "Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults", IEEE Transactions on Software Engineering, 32(10), pp.771~789 (2006)
  26. N. Fenton, "Quantitative analysis of faults and failures in a complex software system", IEEE Transactions on Software Engineering, 26(8), pp.797~814 (2000)
  27. R. Shatnawi, "The effectiveness of software metrics in identifying error-prone classes in post release software evolution process", The Journal of Systems and Software, 81, pp.1868~1882 (2008)
  28. R. Malhotra, "On the Applicability of Machine Learning Techniques for ObjectOriented Software Fault Prediction", Software Engineering : An International Journal, 1(1), pp.24~37 (2011)
  29. "ckjm download"[URL]
  30. V. Basili, "A validation of object-oriented design metrics as quality Indicators", IEEE Transactions on Software Engineering, 22(10), pp.751~761 (1996)
  31. D. Hosmer, "Applied logistic regression" (1989), Wiley
  32. C.M. Bishop, "Neural Networks for Pattern Recognition" (1995), Claredon Press
  33. J.R. Quinlan, "C4.5 : Programs for Machine Learning" (1993), Morgan Kaufmann
  34. A. Porter, "Empirically guided Software Devlopment using Metric-Based Classification Trees", IEEE Software, 7(2), pp.46~54 (1990)
  35. F. Xing, "A novel method for early software quality prediction based on support vector machine", In: Proceedings of IEEE International Conference on Software Reliability Engineering, pp.213~222 (2005)
  36. Y. Freund, "Experiments with a new boosting algorithm", In: Thirteenth International Conference on Machine Learning, San Francisco, pp.148~156 (1996)
  37. J. Friedman, "Additive Logistic Regression: a Statistical View of Boosting", Stanford University
  38. "Weka"[URL]
  39. Y. Freund, "A Short Introduction to Boosting", Journal of Japanese Society for Artificial Intelligence, 14(5), pp.771~780 (1999)
  40. L. Breiman, "Bagging predictors", Machine Learning, 24, pp.123~140 (1996)
  41. R. Malhotra, "Software Effort Prediction using Statistical and Machine Learning Me thod", International Journal of Advanced Computer Science and Applications, 2(1) (2011)
  42. M. Stone, "Cross-validatory choice and assessment of statistical predictions", Journal Royal Stat. Soc, 36, pp.111~147 (1974)
  43. M.English, "Fault Detection and Prediction in an open source Software project", Proceeding: PROMISE ’09 Proceedings of the 5th International conference on Predictor Models in Software Engineering
  44. H.Olague, "Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes", IEEE Transactions on Software Engineering, 33(8), pp.402~419 (2007)
  45. Y.Zhou, "On the ability of complexity metrics to predict fault-prone classes in object-oriented systems", The journal of Systems and Software, 83, pp.660~674 (2010)
  46. R. Burrows, "The impact of Coupling on the fault- Proneness of Aspect-oriented Programs:An Empirical Study", IEEE 21st Internati onal Symposium on Software Reliability Engineering (2010)

관련 논문AI추천

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