Skip to main content
QUICK REVIEW

[논문 리뷰] The Impact of Feature Selection on Predicting the Number of Bugs

Haidar Osman, Mohammad Ghafari|arXiv (Cornell University)|2018. 07. 12.
Software Engineering Research참고 문헌 44인용 수 13
한 줄 요약

이 연구는 회귀 모델을 사용하여 자바 소프트웨어 시스템의 버그 수를 예측할 때 특성 선택의 영향을 조사한다. 다섯 가지 기계 학습 모델에서 상관 기반 필터(CFS)와 워퍼 특성 선택 방법을 비교하여, 워퍼 방법이 예측 정확도를 최대 33% 향상시키고 특성 수를 50% 이상 감소시켜 CFS를 항상 뛰어넘는 것으로 나타났으며, 다양한 프로젝트에서 소스 코드 메트릭과 변경 메트릭의 조합을 선택한다.

ABSTRACT

Bug prediction is the process of training a machine learning model on software metrics and fault information to predict bugs in software entities. While feature selection is an important step in building a robust prediction model, there is insufficient evidence about its impact on predicting the number of bugs in software systems. We study the impact of both correlation-based feature selection (CFS) filter methods and wrapper feature selection methods on five widely-used prediction models and demonstrate how these models perform with or without feature selection to predict the number of bugs in five different open source Java software systems. Our results show that wrappers outperform the CFS filter; they improve prediction accuracy by up to 33% while eliminating more than half of the features. We also observe that though the same feature selection method chooses different feature subsets in different projects, this subset always contains a mix of source code and change metrics.

연구 동기 및 목표

  • 소프트웨어 결함 예측의 회귀 문제로 간주되는 버그 예측에서 특성 선택의 영향에 대한 연구 부족을 보완하기 위해.
  • 다양한 기계 학습 모델에서 필터(CFS)와 워퍼 특성 선택 방법의 효과성을 비교하여 예측 정확도 향상 여부를 평가하기 위해.
  • 특성 서브셋이 다양한 소프트웨어 프로젝트 간에 일관된지, 아니면 프로젝트 및 방법에 따라 달라지는지 조사하기 위해.
  • 소스 코드 메트릭과 변경 메트릭을 결합하면 더 나은 예측 성능을 얻을 수 있는지 확인하기 위해.
  • 프로젝트별 특성 선택의 필요성을 강조하고, 실제 버그 수가 포함된 더 많은 공개 데이터셋의 확산을 촉진하기 위해.

제안 방법

  • 에이치프로젝트: 이클립스 JDT 코어, 이클립스 PDE UI, 에큐노이드, 루센, 마일린. 각각의 다섯 개의 오픈소스 자바 프로젝트에서 K-최근접 이웃, 선형 회귀, 다층 퍼셉트론, 랜덤 포레스트, 서포트 벡터 머신의 다섯 가지 기계 학습 모델을 실증적으로 평가한다.
  • 상관 기반 특성 선택(CFS)을 필터 방법으로, 모델별 정확도를 피트니스 함수로 사용하는 워퍼 특성 선택 방법을 적용한다.
  • 10겹 교차 검증을 사용하여 모든 모델과 프로젝트에서 특성 선택 유무에 따라 예측 정확도(RMSE)를 평가한다.
  • 특성 수 감소, 모델 복잡도, 그리고 프로젝트 및 방법 간에 선택된 특성의 일관성을 측정한다.
  • 선택된 특성 서브셋의 구성 분석을 통해 소스 코드 메트릭과 변경 메트릭의 비율을 파악한다.
  • 성능 차이의 통계적 유의성을 검증하기 위해 통계적 유의성 검정을 실시한다.

실험 결과

연구 질문

  • RQ1RQ1: 특성 선택은 버그 수를 예측하는 데 있어 기계 학습 모델의 예측 정확도에 어떤 영향을 미치는가?
  • RQ2RQ2: 워퍼 특성 선택 방법이 필터 방법보다 예측 정확도 향상에 더 효과적인가?
  • RQ3RQ3: 다양한 프로젝트에서 서로 다른 특성 선택 방법이 서로 다른 특성 서브셋을 선택하는가?
  • RQ4RQ4: 여러 프로젝트에서 일관되게 작동하는 특성 집합이 존재하는가, 아니면 특성 선택은 프로젝트별로 고유한가?

주요 결과

  • 워퍼 특성 선택은 76%의 실험에서 예측 정확도를 최대 33% 향상시켰고, 성능 저하가 전혀 발생하지 않았다. 반면 CFS는 오직 32%의 실험에서 정확도를 향상시키며, 24%의 실험에서 성능이 저하되었다.
  • 워퍼 방법은 특성 수를 최대 87%까지 감소시켜 모델을 크게 단순화하면서도 성능을 유지하거나 향상시켰다.
  • 랜덤 포레스트 모델는 특성 선택에 거의 민감하지 않아, 중복되거나 상관관계가 높은 특성에 대해 강건함을 보였다.
  • 방법과 프로젝트의 차이에도 불구하고, 모든 선택된 특성 서브셋은 소스 코드 메트릭과 변경 메트릭의 조합을 포함하여, 이들의 조합이 예측에 중요한 역할을 함을 시사한다.
  • 프로젝트 간에 일관된 특성 서브셋은 존재하지 않아, 새로운 프로젝트마다 별도의 특성 선택이 필요함을 확인했다.
  • 이 연구는 버그 예측을 회귀 문제로 간주할 때 특성 선택이 필수적임을 확인하였으며, 이 맥락에서 워퍼 방법이 필터 방법보다 열등하지 않음을 입증했다.

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

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

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

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