DOI QR코드

DOI QR Code

Bayesian Network-based Probabilistic Management of Software Metrics for Refactoring

리팩토링을 위한 소프트웨어 메트릭의 베이지안 네트워크 기반 확률적 관리

  • 최승희 (강원대학교 컴퓨터정보통신공학과) ;
  • 이구연 (강원대학교 컴퓨터정보통신공학과)
  • Received : 2016.04.21
  • Accepted : 2016.09.14
  • Published : 2016.12.15

Abstract

In recent years, the importance of managing software defects in the implementation stage has emerged because of the rapid development and wide-range usage of intelligent smart devices. Even if not a few studies have been conducted on the prediction models for software defects, their outcomes have not been widely shared. This paper proposes an efficient probabilistic management model of software metrics based on the Bayesian network, to overcome limits such as binary defect prediction models. We expect the proposed model to configure the Bayesian network by taking advantage of various software metrics, which can help in identifying improvements for refactoring. Once the source code has improved through code refactoring, the measured related metric values will also change. The proposed model presents probability values reflecting the effects after defect removal, which can be achieved by improving metrics through refactoring. This model could cope with the conclusive binary predictions, and consequently secure flexibilities on decision making, using indeterminate probability values.

최근 지능형 스마트 디바이스의 눈부신 발전과 사용으로 개발 단계의 소프트웨어 결함 관리의 중요성이 부각되고 있다. 효과적 결함 관리를 위해 소프트웨어 메트릭을 토대로 많은 결함 예측 모델 연구가 수행되고 있지만, 결함 예측 모델 연구 성과가 널리 확산되지는 못하고 있다. 본 논문에서는 결함 존재 유무에 관한 이진적 결함 예측 모델의 제약을 극복할 수 있도록, 베이지안 네트워크 기반 확률적 소프트웨어 메트릭 관리 방법을 제안한다. 제안 모델은 소프트웨어 메트릭을 활용하여 베이지안 네트워크를 구성하고, 이를 토대로 베이지안 추론을 수행하여 리팩토링을 위한 개선점을 식별할 수 있는 모델이다. 코드 리팩토링을 통해 소스 코드가 개선되면 관련 메트릭 측정값 또한 변하게 된다. 제안 모델은 리팩토링을 통한 메트릭의 개선으로 얻을 수 있는 결함 제거 효과를 확률 값으로 제시해준다. 따라서 이진 값 형태의 확정성을 극복할 수 있으며, 불확정적인 확률 값으로 의사결정의 유연성을 확보할 수 있을 것이다.

Keywords

Acknowledgement

Grant : SW융합 비즈니스 데이터 분석 인력양성 사업

Supported by : 정보통신기술진흥센터

References

  1. E. Choi, New Software Engineering, pp. 448-449, Jungik Publishing, Seoul, 2014. (in Korean)
  2. M. D'Ambros, M. Lanza and R. Robbes, "An Extensive Comparison of Bug Prediction Approaches," Proc. of the 7th IEEE Working Conference on Mining Software Repositories, pp. 31-41, 2010.
  3. T. Kim, H. Jeon and H. Chae, "Comparison of Cross Project Defect Prediction Algorithms' Performances," Journal of KIISE: Software and Applications, Vol. 40, no. 12, pp. 774-783, Dec. 2013. (in Korean)
  4. I. Arora, V. Tetarwal and A. Saha, "Open Issues in Software Defect Prediction," Procedia Computer Science, Vol. 46, pp. 906-912, 2015. https://doi.org/10.1016/j.procs.2015.02.161
  5. J. S. Shirabad, and T.J. Menzies, "The PROMISE Repository of Software Engineering Databases," School of Information Technology and Engineering, University of Ottawa, Canada. [Online]. Available: http://promise.site.uottawa.ca/SERepository
  6. S. Shin, Basic Principles of Probabilistic Programming, Acorn publishing, Seoul, 2015. (in Korean)
  7. A. B. Downey, Think Bayes, pp. 23-24, Hanbit Media, Seoul, 2014.
  8. M. Fowler, translated by S. Yoon and J. Park, "Refactoring," Daechung Media, pp. 73-74, Seoul, 2003. (in Korean)
  9. N. Fenton, M. Neil, W. Marsh, P. Hearty, D. Marquez, P. Krause and R. Mishra, "Predicting software defects in varying development lifecycles using Bayesian nets," Journal of Information and Software Technology, Vol. 49, Issue 1, pp. 32-43, Jan. 2007. https://doi.org/10.1016/j.infsof.2006.09.001
  10. G. J. Pai and J. B. Dugan, "Empirical Analysis of Software Fault Content and Fault Proneness Using Bayesian Methods," IEEE Transactions on Software Engineering, Vol. 33, Issue 10, pp. 675-686, Oct. 2007. https://doi.org/10.1109/TSE.2007.70722
  11. N. Fenton, M. Neil, W. Marsh, P. Hearty, L. Radlinski and P. Krause, "On the effectiveness of early life cycle defect prediction with Bayesian Nets," Journal of Empirical Software Engineering, Vol. 13, pp. 499-537, Oct. 2008. https://doi.org/10.1007/s10664-008-9072-x
  12. N. Fenton, M. Neil and D. Marquez, "Using Bayesian Networks to Predict Software Defects and Reliability," Proc. of the Institution of Mechanical Engineers, Part O: Journal of Risk and Reliability, Vol. 222, No. 4, pp. 701-712. Dec. 2008.
  13. S. Wagner, "A Bayesian Network Approach to Assess and Predict Software Quality Using Activity- Based Quality Models," Proc. of the 5th International Conference on Predictor Models in Software Engineering, Article No. 6, May 2009.
  14. L. Li, J. Gao and K. Chen, "Research on Machining Defect Diagnosis Method Based on Bayesian Networks," Proc. of 2009 International Conference on Information Engineering and Computer Science, pp. 1-4, Dec. 2009.
  15. Y. Chen, X. Shen, P. Du and B. Ge, "Research on software defect prediction based on data mining," Proc. the 2nd International Conference on Computer and Automation Engineering, Vol. 1, pp. 563-567, Feb. 2010.
  16. K. Jeet, N. Bhatia and R. S. Minhas, "A Bayesian Network based Approach for Software Defects Prediction," ACM SIGSOFT Software Engineering Notes, Vol. 36, Issue 4, pp. 1-5, Jul. 2011.
  17. Jie Ba and Shujian Wu, "ProPRED: A Probabilistic Model for the Prediction of Residual Defects," Proc. of the Mechatronics and Embedded Systems and Applications (MESA), 2012 IEEE/ASME International Conference, pp. 247-251, Jul. 2012.
  18. J. Lin, "An Integrated Procedure for Bayesian Reliability Inference Using MCMC," Journal of Quality and Reliability Engineering, Vol. 2014, Article ID 264920, Jan. 2014.
  19. A. Okutan, O. T. Yildiz, "Software defect prediction using Bayesian networks," Journal of Empirical Software Engineering, Vol. 19, Issue 1, pp. 154-181, Feb. 2014. https://doi.org/10.1007/s10664-012-9218-8
  20. A. T. Misirli and A. B. Bener, "Bayesian Networks For Evidence-Based Decision-Making in Software Engineering," IEEE Transactions on Software Engineering, Vol. 40, Issue 6, pp. 533-554, Jun. 2014. https://doi.org/10.1109/TSE.2014.2321179
  21. R. Rana, M. Staron, C. Berger, J. Hansson, M. Nilsson and W. Meding, "Analyzing defect inflow distribution and applying Bayesian inference method for software defect prediction in large software projects," Journal of Systems and Software, Vol. 117, pp. 229-244, Jul. 2016. https://doi.org/10.1016/j.jss.2016.02.015
  22. T. Kim, Y. Kim, H. Chae, "An Experimental Study of Generality of Software Defects Prediction Models based on Object Oriented Metrics," The KIPS transactions Part D, Vol. 16D, No. 3, pp. 407-416, 2009. https://doi.org/10.3745/KIPSTD.2009.16-D.3.407
  23. I. Sommerville, translated by k. Kwon and Y. Nam, Software Engineering, 8th Edition, pp. 709-710, Pearson Education Korea, Ltd., Seoul, 2008. (in Korean)
  24. V. U. B. Challagulla, F. B. Bastani, I-Ling Yen and R. A. Paul, "Empirical assessment of machine learning based software defect prediction techniques," Proc. of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, pp. 263-270, Feb. 2005.