향상된 교차 버전 결함 예측을 위한베이지안 최적화 프레임워크
Bayesian Optimization Framework for Improved Cross-Version Defect Prediction
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
최근 소프트웨어 결함 예측 연구는 교차 프로젝트 간의 결함 예측뿐만 아니라 교차 버전 프로젝트 간의 결함 예측 또한 이루어지고 있다. 종래의교차 버전 결함 예측 연구들은 WP(Within-Project)로 가정한다. 하지만, CV(Cross-Version) 환경에서는 프로젝트 버전 간의 분포 차이의 중요성을고려한 연구들이 없다. 본 연구에서는 다른 버전 간의 분포 차이까지 고려하는 자동화된 베이지안 최적화 프레임워크를 제안한다. 이를 통해 분포차이에 따라 전이 학습(Transfer Learning) 수행 여부를 자동으로 선택하여 준다. 해당 프레임워크는 버전 간의 분포 차이, 전이 학습과 분류기(Classifier)의 하이퍼파라미터를 최적화하는 기법이다. 실험을 통해 전이 학습 수행 여부를 분포차 기준으로 자동으로 선택하는 방법이 효과적이라는것을 알 수 있다. 그리고 최적화를 이용하는 것이 성능 향상에 효과가 있으며 이러한 결과 소프트웨어 인스펙션 노력을 감소할 수 있다는 것을확인할 수 있다. 이를 통해 교차 버전 프로젝트 환경에서 신규 버전 프로젝트에 대하여 효과적인 품질 보증 활동 수행을 지원할 것으로 기대된다.
Abstract
In recent software defect prediction research, defect prediction between cross projects and cross-version projects are actively studied. Cross-version defect prediction studies assume WP(Within-Project) so far. However, in the CV(Cross-Version) environment, the previouswork does not consider the distribution difference between project versions is important. In this study, we propose an automated Bayesianoptimization framework that considers distribution differences between different versions. Through this, it automatically selects whetherto perform transfer learning according to the difference in distribution. This framework is a technique that optimizes the distributiondifference between versions, transfer learning, and hyper-parameters of the classifier. We confirmed that the method of automaticallyselecting whether to perform transfer learning based on the distribution difference is effective through experiments. Moreover, we cansee that using our optimization framework is effective in improving performance and, as a result, can reduce software inspection effort. This is expected to support practical quality assurance activities for new version projects in a cross-version project environment
참고문헌 (18)
- C. Tantithamthavorn, "The impact of automated parameter optimization on defect prediction models", IEEE Transaction on Software Engineering, 45(7), pp.683~711 (2019)
- C. Tantithamthavorn, "Automated parameter optimization of classification techniques for defect prediction models", Proceedings of the International Conference on Software Engineering, pp.321~332 (2016)
- S. Amasaki, "Cross-version defect prediction : Use historical data, cross-project data, or both?", Empirical Software Engineering, 25(2), pp.1573~1595 (2020)
- S. Amasaki, "Cross-version defect prediction using crossproject defect prediction approaches", Proceedings of the 14th International Conference on Predictive Models and Data Analytics in Software Engineering, pp.32~41 (2018)
- X. Yang, "Ridge and lasso regression models for cross-version defect prediction", IEEE Transaction on Reliability, 67(3), pp.885~896 (2018)
- K. Li, "Understanding the automated parameter optimization on transfer learning for CPDP: An empirical study", Proceeding of the International Conference on Software Engineering (2020)
- K. Li, "BiLO-CPDP : Bi-Level programming for automated model discovery in cross-project defect prediction", Automated Software Engineering, pp.1~24 (2020)
- N. Nagappan, "Mining metrics to predict component failures", Proceeding of the 28th International Conference on Software Engineering - ICSE ’06, pp.452~ (2006)
- B. Turhan, "On the relative value of cross-company and within-company data for defect prediction", Empirical Software Engineering, 14(5), pp.540~578 (2009)
- S. Amasaki, "Improving crossproject defect prediction methods with data simplification", Proceeding of the 41st Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2015, pp.96~103 (2015)
- M. Jureczko, "Towards identifying software project clusters with regard to defect prediction", Proceedings of the International Conference on Predictive Models in Software Engineering - PROMISE ’10 (2010)
- J. Bergstra, "Hyperopt: A python library for optimizing the hyperparameters of machine learning algorithms", Proceedings of the 12th Python in Science Conference (SCIPY 2013) (2013)
- Z. Li, "Progress on approaches to software defect prediction", IET Software, 12(3), pp.161~175 (2018)
- Y. Shin, "Evaluating complexity, code churn, and developer activity metrics as indicators of software vulnerabilities", IEEE Transaction on Software Engineering, 37(6), pp.772~787 (2011)
- J. Choi, "Bayesian optimization framework for cross-version defect prediction", Proceedings of the 23rd Korea Conference on Software Engineering, pp.63~72 (2021)
- B. Turhan, "On the relative value of cross-company and within-company data for defect prediction", Empirical Software Engineering (2009)
- J. Nam, "Transfer defect learning", Proceedings - International Conference on Software Engineering (2013)
- S. J. Pan, "Domain adaptation via transfer component analysis", IEEE Transaction on Neural Networks, 22(2), pp.199~210 (2011)
