Skip to main content
QUICK REVIEW

[논문 리뷰] Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction

Lov Kumar, Santanu Kumar Rath|arXiv (Cornell University)|2017. 04. 14.
Software Engineering Research인용 수 5
한 줄 요약

이 논문은 예측 정확도를 향상시키고 결함 제거 비용을 줄이기 위해 최적화된 소스 코드 메트릭을 사용하는 앙상블 기반 결함 유발 예측 프레임워크를 제안한다. 45개의 오픈소스 프로젝트에 걸쳐 정제된 메트릭 세트를 사용해 Majority Voting Ensemble (MVE)를 적용함으로써, 개별 모델에 비해 뛰어난 성능과 낮은 비용을 달성하였으며, 특히 결함 클래스 비율이 55% 미만인 프로젝트에서 특히 효과적이다.

ABSTRACT

Software fault prediction model are employed to optimize testing resource allocation by identifying fault-prone classes before testing phases. Several researchers' have validated the use of different classification techniques to develop predictive models for fault prediction. The performance of the statistical models are proven to be influenced by the training and testing dataset. Ensemble method learning algorithms have been widely used because it combines the capabilities of its constituent models towards a dataset to come up with a potentially higher performance as compared to individual models (improves generalizability). In the study presented in this paper, three different ensemble methods have been applied to develop a model for predicting fault proneness. The efficacy and usefulness of a fault prediction model also depends on the source code metrics which are considered as the input for the model. In this paper, we propose a framework to validate the source code metrics and select the right set of metrics with the objective to improve the performance of the fault prediction model. The fault prediction models are then validated using a cost evaluation framework. We conduct a series of experiments on 45 open source project dataset. Key conclusions from our experiments are: (1) Majority Voting Ensemble (MVE) methods outperformed other methods; (2) selected set of source code metrics using the suggested source code metrics using validation framework as the input achieves better results compared to all other metrics; (3) fault prediction method is effective for software projects with a percentage of faulty classes lower than the threshold value (low - 54.82%, medium - 41.04%, high - 28.10%)

연구 동기 및 목표

  • 앙성 기법을 통해 다수의 기계학습 모델을 조합하여 결함 유발 예측 정확도를 향상시키기.
  • 모델 성능 향상에 기여하는 최소한이면서도 높은 영향력을 지닌 소스 코드 메트릭 세트를 식별하고 검증하기.
  • Wagner 등 [21]과 Jones [6]의 기반 비용 평가 모델을 활용해 결함 예측 모델의 경제적 영향을 평가하고, 정규화된 결함 제거 비용과 같은 비용 평가 지표를 사용하기.
  • 결함 예측이 더 이상 비용 효율적이지 않게 되는 결함 클래스 비율의 임계값을 규명하기.
  • 다양한 오픈소스 소프트웨어 프로젝트에 걸쳐 일반화된 결과를 도출해 모델의 일반화 능력을 향상시키기.

제안 방법

  • 로지스틱 회귀, 인공 신경망(ANN), 및 라디얼 기저 함수(RBF) 네트워크를 베이스 러너로 사용해 Majority Voting Ensemble (MVE), Bagging, Stacking의 세 가지 앙상블 방법을 적용하였다.
  • 중복되거나 영향력이 낮은 메트릭을 걸러내기 위해 검증 프레임워크를 활용해 메트릭을 선별하였으며, WMC, CBO, LCOM, 순환 복잡도(CC)를 포함한 16개의 핵심 메트릭에 집중하였다.
  • 정확도와 F-메이저를 사용해 결함 예측 성능을 계산하였으며, 통계적 유의성은 Wilcoxon 부호 순위 검정을 통해 테스트하였다.
  • Wagner 등 [21]과 Jones [6]의 기반 비용 평가 모델을 통합해 추정된 결함 제거 비용($E_{cost}$)과 테스트 비용($T_{cost}$)을 계산하여 경제적 효율성을 평가하였다.
  • 결함 예측 유용성의 확률을 모델링하기 위해 로지스틱 회귀를 사용하였으며, $P_{fault}$의 임계값은 0.5로 설정하였다.
  • 교차 프로젝트 평가를 위해 PROMISE 레포지토리에서 45개의 실제 오픈소스 자바 프로젝트를 수집하여 다양한 실세계 데이터셋 커버리지를 확보하였다.

실험 결과

연구 질문

  • RQ1다양한 소프트웨어 프로젝트에서 어떤 앙상블 방법이 가장 높은 결함 유발 예측 정확도를 달성하는가?
  • RQ2사용 가능한 모든 메트릭을 사용하는 것에 비해, 감소된 검증된 메트릭 세트를 선택하는 것이 예측 성능 향상에 기여하는가?
  • RQ3소프트웨어 프로젝트의 결함 클래스 비율에 따라 결함 예측 모델의 경제적 효율성은 어떻게 변화하는가?
  • RQ4결함 예측이 경제적으로 덜 유용해지는 결함 클래스 비율의 임계값은 무엇인가?
  • RQ5최적화된 메트릭을 사용하는 제안된 앙상블 모델이 여러 오픈소스 프로젝트에서 일관되게 개별 분류기보다 뛰어난 성능을 보일 수 있는가?

주요 결과

  • Majority Voting Ensemble (MVE)가 다른 앙상블 방법보다 뛰어난 성능을 보였으며, 최고의 중앙값 정확도와 가장 낮은 정규화된 결함 제거 비용을 기록하였다.
  • 선택된 메트릭 세트를 사용한 모델이 모든 메트릭을 사용한 모델보다 유의미하게 높은 성능를 보였으며, Wilcoxon 부호 순위 검정 결과 p-value < 0.05를 기록하였다.
  • 결함 예측은 비용 매개변수에 따라 각각 54.82% (저수준), 41.04% (중수준), 또는 28.10% (고수준) 이하의 결함 클래스 비율을 가진 프로젝트에서 가장 효과적이다.
  • MVE 기반 모델이 다른 기술에 비해 더 효과적으로 결함 제거 비용을 줄였으며, 정규화된 결함 제거 비용($NE_{cost}$)의 중앙값이 낮게 나타났다.
  • 로지스틱 회귀 모델은 결함 클래스 확률이 0.5 이하일 경우에만 결함 예측이 유용하다고 확인하였으며, 특정 비용 매개변수에 대해 각각 38.14% (LOGR) 및 48.75% (ANN)의 임계값을 도출하였다.
  • 비용 평가 프레임워크는 결함 예측이 프로젝트별 임계값 이하일 경우에만 경제적으로 유익하다는 것을 입증하였으며, 실용적 적용 가능성을 확인하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.