[논문 리뷰] Comparative Study of Machine Learning Test Case Prioritization for Continuous Integration Testing
이 연구는 실질적인 산업 데이터셋을 사용하여 지속적 통합(CI) 환경에서 테스트 케이스 우선순위 지정을 위한 기계학습 모델—LambdaRank, SVM, GBDT, ANN—을 평가한다. 모델 성능은 테스트 이력 길이(최적: 40–60%)와 시간 예산에 따라 크게 달라지며, 짧은 시간 제약 조건 하에서 LambdaRank가 가장 높은 결함 탐지 효과를 보이며, ANN는 이력 길이에 가장 민감하지만 랭킹 시간이 가장 빠르다.
There is a growing body of research indicating the potential of machine learning to tackle complex software testing challenges. One such challenge pertains to continuous integration testing, which is highly time-constrained, and generates a large amount of data coming from iterative code commits and test runs. In such a setting, we can use plentiful test data for training machine learning predictors to identify test cases able to speed up the detection of regression bugs introduced during code integration. However, different machine learning models can have different fault prediction performance depending on the context and the parameters of continuous integration testing, for example variable time budget available for continuous integration cycles, or the size of test execution history used for learning to prioritize failing test cases. Existing studies on test case prioritization rarely study both of these factors, which are essential for the continuous integration practice. In this study we perform a comprehensive comparison of the fault prediction performance of machine learning approaches that have shown the best performance on test case prioritization tasks in the literature. We evaluate the accuracy of the classifiers in predicting fault-detecting tests for different values of the continuous integration time budget and with different length of test history used for training the classifiers. In evaluation, we use real-world industrial datasets from a continuous integration practice. The results show that different machine learning models have different performance for different size of test history used for model training and for different time budget available for test case execution. Our results imply that machine learning approaches for test prioritization in continuous integration testing should be carefully configured to achieve optimal performance.
연구 동기 및 목표
- 기계학습 기반 테스트 우선순위 지정의 결함 예측 효과성과 시간 효율성을 평가하기 위해.
- 학습에 사용되는 테스트 실행 이력의 길이가 기계학습 모델 성능에 미치는 영향을 조사하기 위해.
- 시간 예산의 변화가 기계학습 기반 테스트 우선순위 지정 접근 방식의 효과성에 미치는 영향을 분석하기 위해.
- 실제 CI 환경에서 기계학습 모델(LambdaRank, SVM, GBDT, ANN)과 히ュ리스틱 기반 기준(ROCKET, Random)을 비교하기 위해.
- 산업용 CI 파이프라인에서 최적의 성능을 내기 위해 기계학습 모델을 구성하는 데 실증적 지침을 제공하기 위해.
제안 방법
- 연구는 Cisco, ABB, Google의 실질적인 산업 데이터셋을 사용하여 기계학습 모델의 학습 및 평가를 수행한다.
- 테스트 실행 이력 길이를 다양하게(가용 데이터의 10%에서 100%까지) 조절하여, 네 가지 기계학습 모델—LambdaRank(학습-순서 정하기), SVM, GBDT, ANN—을 학습시킨다.
- 테스트 케이스 우선순위 지정은 결함 탐지 시 평균 정밀도(APFD)를 사용하여 결함 탐지 효과성을 측정한다.
- 시간 효율성은 첫 번째 결함 탐지까지의 시간(TDFF), 마지막 결함 탐지까지의 시간(TDLF), 모델 학습 시간(TRAIN), 및 우선순위 지정 알고리즘 실행 시간(PART)을 통해 측정한다.
- 시간 예산 수준(B1–B5)을 다양하게 설정하여 CI 사이클의 제약 조건을 반영한다.
- 세 가지 산업 데이터셋을 대상으로 실험하여 실제 적용 가능성과 일반화 능력을 확보한다.

실험 결과
연구 질문
- RQ1학습에 사용되는 테스트 실행 이력의 길이가 기계학습 기반 테스트 우선순위 지정 모델의 결함 예측 성능에 어떤 영향을 미치는가?
- RQ2다양한 시간 예산 조건에서 기계학습 모델의 성능은 CI 사이클에서 어떻게 달라지는가?
- RQ3CI 테스트에서 결함 탐지 효과성과 시간 효율성 사이의 최적 균형을 달성하는 기계학습 모델은 무엇인가?
- RQ4기계학습 기반 접근 방식은 히ュ리스틱 기반 기준(ROCKET 및 Random)과 비교해 결함 탐지 능력과 실행 시간 측면에서 어떻게 다른가?
주요 결과
- 기계학습 모델 학습에 가장 적합한 테스트 이력 길이는 가용 실행 이력의 40%에서 60% 사이이며, 이 범위에서 성능이 최고조에 이른다.
- ANN 모델은 오래된 테스트 이력에 가장 민감하지 않아 다양한 이력 길이에서 안정적인 성능을 보이지만, 짧은 이력 길이에서는 성능이 가장 열 劣하다.
- 짧은 시간 예산 조건 하에서 LambdaRank(LRN)가 가장 높은 결함 탐지 효과를 보이며, 다른 모든 기계학습 모델보다 뛰어난 APFD 점수를 기록한다.
- ANN 모델은 빠른 랭킹 시간을 보이지만, 짧은 시간 예산 조건에서 가장 열 劣한 결함 탐지 성능을 보인다.
- 첫 번째 결함 탐지까지의 시간(TDFF) 측면에서 LambdaRank와 SVM이 가장 우수한 성능을 보이며, Random은 가장 열 劣하다.
- ANN 모델은 가장 빠른 랭킹 시간(PART)을 보이며, 그 다음으로 GBDT, LRN 순이며, Random은 단순성 덕분에 가장 빠르다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.