Skip to main content
QUICK REVIEW

[논문 리뷰] Run, Forest, Run? On Randomization and Reproducibility in Predictive Software Engineering

Cynthia C. S. Liem, Annibale Panichella|arXiv (Cornell University)|2020. 12. 15.
Software Engineering Research참고 문헌 96인용 수 4
한 줄 요약

이 논문은 예측 소프트웨어 공학에서 무작위화의 영향을 재현 가능성에 미치는 영향을 조사하며, 통제되지 않은 데이터 샘플링, 무작위 시드, 라이브러리별 구현 방식으로 인해 광범위한 일관성 부족을 드러낸다. 반복 실행, 명시적 파rameter 보고, 다양한 라이브러리와 데이터셋을 통한 통계적 검증을 통해 재현 가능성을 향상시키기 위한 다섯 가지 실용적 지침을 제안한다.

ABSTRACT

Machine learning (ML) has been widely used in the literature to automate software engineering tasks. However, ML outcomes may be sensitive to randomization in data sampling mechanisms and learning procedures. To understand whether and how researchers in SE address these threats, we surveyed 45 recent papers related to three predictive tasks: defect prediction (DP), predictive mutation testing (PMT), and code smell detection (CSD). We found that less than 50% of the surveyed papers address the threats related to randomized data sampling (via multiple repetitions); only 8% of the papers address the random nature of ML; and parameter values are rarely reported (only 18% of the papers). To assess the severity of these threats, we conducted an empirical study using 26 real-world datasets commonly considered for the three predictive tasks of interest, considering eight common supervised ML classifiers. We show that different data resamplings for 10-fold cross-validation lead to extreme variability in observed performance results. Furthermore, randomized ML methods also show non-negligible variability for different choices of random seeds. More worryingly, performance and variability are inconsistent for different implementations of the conceptually same ML method in different libraries, as also shown through multi-dataset pairwise comparison. To cope with these critical threats, we provide practical guidelines on how to validate, assess, and report the results of predictive methods.

연구 동기 및 목표

  • 예측 소프트웨어 공학 분야의 연구자들이 데이터 샘플링, 모델 훈련, 구현 선택 과정에서 무작위화 위협을 얼마나 자주 다루는지 평가하기 위해.
  • 일반적인 기계학습 분류기에서 무작위 데이터 재샘플링과 무작위 시드로 인한 성능 변동성의 정도를 조사하기 위해.
  • 동일한 알고리즘과 모델 설정에 대해 서로 다른 기계학습 라이브러리 간 결과의 일관성 수준을 평가하기 위해.
  • 최근 소프트웨어 공학 분야 문헌에서 하이퍼파rameter, 무작위 시드, 라이브러리 버전에 대한 보고 관행의 격차를 식별하기 위해.
  • 예측 소프트웨어 공학 연구의 재현 가능성을 향상시키기 위한 실용적이고 실행 가능한 지침을 개발하고 제안하기 위해.

제안 방법

  • 결함 예측, 예측적 무결성 테스팅, 코드 냄새 탐지 분야에서 최근 45篇의 논문을 대상으로 체계적 문헌 리뷰를 수행하여 무작위화 및 파rameter 설정 보고 여부를 평가하였다.
  • 26개의 실제 소프트웨어 공학 데이터셋과 세 가지 인기 있는 기계학습 라이브러리(Scikit-learn, Weka, R)에서 사용 가능한 여덟 종류의 지도 학습 분류기를 활용한 실증 연구를 수행하였다.
  • 10겹 교차검증에서 무작위 시드 선택과 데이터 재샘플링으로 인한 변동성을 측정하기 위해 각 데이터셋과 모델 설정당 100회의 반복 실행을 수행하였다.
  • 동일한 모델 설정을 서로 다른 라이브러리에서 구현하여 결과 일관성과 기본 하이퍼파rameter의 차이를 평가하기 위해 비교 분석을 수행하였다.
  • 모델 간 성능 차이의 통계적 유의성을 평가하기 위해 프리드리먼 검정과 후행 분석으로 네멘요 검정을 적용하였다.
  • 반복 실행, 명시적 시드 및 파rameter 보고, 솔버 및 라이브러리 동작 방식에 대한 인식 등 증거 기반의 다섯 가지 지침을 제안하였다.

실험 결과

연구 질문

  • RQ1최근 예측 소프트웨어 공학 논문들이 얼마나 자주 무작위 데이터 샘플링 절차와 다중 반복 실행을 보고하고 있는가?
  • RQ2일반적인 분류기에서 무작위 시드의 차이로 인해 기계학습 훈련 절차에서 발생하는 성능 변동성은 어느 정도인가?
  • RQ3동일한 개념적 설정을 가진 동일한 알고리즘에 대해 서로 다른 기계학습 라이브러리에서 결과가 얼마나 일관성 있는가?
  • RQ4보고되지 않거나 일관성 없는 하이퍼파arameter와 라이브러리 버전이 결과 재현 가능성에 어떤 영향을 미치는가?
  • RQ5예측 소프트웨어 공학 결과의 신뢰성과 재현 가능성을 향상시키기 위한 통계적 및 보고 관행은 무엇인가?

주요 결과

  • 조사된 논문 중 50% 미만이 다중 반복을 통해 데이터 재샘플링 변동성 문제를 다루어 메서드올로지적 엄격성의 심각한 격차를 드러냈다.
  • 성능 변동성이 뚜렷한 데도 불구하고, 논문의 8%만이 기계학습 훈련 과정에서 무작위 시드를 명시적으로 보고하거나 제어하였다.
  • 동일한 모델을 서로 다른 라이브러리에서 구현한 결과는 하이퍼파aram터 기술이 동일하더라도 상당한 성능 차이를 보였다.
  • 무작위 숲에서 트리 수와 같은 기본 파arameter 값이 라이브러리 버전 간에 크게 변화하여 일관성 없는 결과를 초래하였다.
  • 통계 분석 결과, 랜덤 포레스트는 일관되게 높은 순위를 차지했지만, 다중 비교 보정을 고려한 결과 통계적으로 다른 모델보다 뛰어나지 않았다.
  • 본 연구는 라이브러리 간 기본 설정이 크게 다름을 입증하였으며, 이는 재현 가능성을 해칠 수 있으므로 라이브러리 이름, 버전, 파arameter 설정을 명시적으로 보고할 필요가 있음을 시사한다.

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

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

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

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