Skip to main content
QUICK REVIEW

[논문 리뷰] A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems

Lov Kumar, Ashish Sureka|arXiv (Cornell University)|2017. 12. 21.
Software Engineering Research참고 문헌 5인용 수 3
한 줄 요약

이 연구는 객체 지향 시스템에서 변경 가능성 예측을 위해 21개의 소스 코드 메트릭과 11가지의 특성 선택 기법을 평가하며, 18개의 분류기와 3개의 앙상블 방법을 사용한다. 제안된 특성 선택 프레임워크(PFST)를 통해 선택된 메트릭을 사용한 LSSVM-RBF 모델이 다른 분류기와 특성 선택 접근 방식을 모두 능가하는 최고의 정확도를 달성했다.

ABSTRACT

Change-prone classes or modules are defined as software components in the source code which are likely to change in the future. Change-proneness prediction is useful to the maintenance team as they can optimize and focus their testing resources on the modules which have a higher likelihood of change. Change-proneness prediction model can be built by using source code metrics as predictors or features within a machine learning classification framework. In this paper, twenty one source code metrics are computed to develop a statistical model for predicting change-proneness modules. Since the performance of the change-proneness model depends on the source code metrics, they are used as independent variables or predictors for the change-proneness model. Eleven different feature selection techniques (including the usage of all the $21$ proposed source code metrics described in the paper) are used to remove irrelevant features and select the best set of features. The effectiveness of the set of source code metrics are evaluated using eighteen different classiffication techniques and three ensemble techniques. Experimental results demonstrate that the model based on selected set of source code metrics after applying feature selection techniques achieves better results as compared to the model using all source code metrics as predictors. Our experimental results reveal that the predictive model developed using LSSVM-RBF yields better result as compared to other classification techniques

연구 동기 및 목표

  • 객체 지향 소프트웨어에서 21개의 소스 코드 메트릭이 변경 가능성 예측에 얼마나 효과적인지 조사하기 위해.
  • 열한 가지의 특성 선택 기법이 예측 모델 성능 향상에 미치는 영향을 평가하기 위해.
  • 18개의 기계 학습 분류기와 3개의 앙상블 방법이 변경 가능성이 높은 클래스를 예측하는 데에서 성능을 비교하기 위해.
  • 정확한 변경 가능성 예측을 위해 메트릭, 특성 선택, 분류 기법의 최적 조합을 특정하기 위해.
  • 공개된 소스 데이터셋과 기존 도구를 사용하여 재현 가능한 변경 가능성 예측 프레임워크를 제공하기 위해.

제안 방법

  • Eclipse 2.0 및 2.1 플러그인에서 Understand 도구를 사용해 21개의 객체 지향 소프트웨어 메트릭(예: 순환 복잡도, 결합도, 상속 깊이)을 계산하였다.
  • Jar Compare 도구를 사용해 버전 간에 변경된 클래스를 식별하여 학습 데이터를 변경 가능성 유무로 레이블링하였다.
  • 필터, 워퍼, 임베디드 방법을 포함한 11가지 특성 선택 기법을 적용하여 관련성이 없는 메트릭을 줄이고 최적의 메트릭 조합을 선택하였다.
  • 선택된 메트릭 조합에 대해 18개의 개별 분류기(예: SVM, 랜덤 포레스트, RBFN)와 3개의 앙상블 방법(예: NDTF, 배깅, 부스팅)을 훈련시켰다.
  • 모델 성능을 통계적으로 비교하기 위해 윌코크슨 부호 순위 검정과 평균 차이 분석을 사용하였다.
  • 정확도, F1 점수, 오분류 오차와 같은 표준 분류 지표를 사용해 모델을 평가하였다.

실험 결과

연구 질문

  • RQ1다양한 Eclipse 플러그인에서 클래스의 변경 가능성과 유의미하게 상관관계가 있는 소스 코드 메트릭은 무엇인가?
  • RQ2특성 선택을 통해 메트릭의 부분 집합을 사용할 경우, 모든 21개의 메트릭을 사용하는 것보다 변경 가능성 예측 정확도가 향상되는가?
  • RQ3특성 선택 이후에 가장 높은 성능을 보이는 기계 학습 분류기는 무엇인가?
  • RQ4다양한 특성 선택 기법은 모델 성능 향상 능력에서 어떻게 비교되는가?
  • RQ5앙상블 방법은 개별 분류기와 비교해 변경 가능성 예측에서 어떻게 성능을 내는가?

주요 결과

  • LSSVM-RBF 분류기는 테스트된 18개의 개별 분류기 중에서 가장 높은 정확도와 가장 낮은 오분류 오차를 기록하였다.
  • 제안된 특성 선택 프레임워크(PFST)는 성능 지표의 평균 차이 측면에서 다른 특성 선택 기법보다 일관되게 뛰어난 성능을 보였다.
  • 비선형 앙상블 决定 트리 포레스트(NDTF) 앙상블 방법은 모든 다른 앙상블 방법보다 뛰어난 성능을 보였으며, 전체 성능에서 LSSVM-RBF에 이어 두 번째로 높은 성능을 기록하였다.
  • PFST를 통해 선택된 소스 코드 메트릭의 소수의 조합이, 모든 21개 메트릭을 사용한 모델보다 더 높은 예측 정확도를 달성하였다.
  • 특성 선택 기법의 성능는 분류기의 선택에 따라 크게 달라졌으며, 이는 특성 선택과 학습 알고리즘 간의 강한 상호작용 효과를 시사한다.
  • 통계 분석을 통해 모델 성능의 차이가 유의미하다고 확인되었으며, LSSVM-RBF와 PFST 기반 모델은 모든 데이터셋에서 가장 견고한 결과를 보였다.

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

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

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

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