Skip to main content
QUICK REVIEW

[논문 리뷰] MSR Mining Challenge: The SmartSHARK Repository Mining Data

Alexander Trautsch, Fabian Trautsch|arXiv (Cornell University)|2021. 02. 23.
Software Engineering Research참고 문헌 20인용 수 6
한 줄 요약

이 논문은 Git, Jira, GitHub, Travis CI 및 메일링 리스트에서 유래한 소프트웨어 진화 데이터의 포괄적이고 다중 소스로 구성된 데이터셋인 SmartSHARK 레포지터리 마이닝 데이터셋을 제시한다. 이 데이터셋은 수동으로 검증된 레이블과 자동으로 연결된 링크를 보유하고 있으며, 버전 제어, 이슈 추적, CI, 코드 리뷰 등의 다양한 소스에서 유래한 데이터를 통합하여 장기적이고 다중 소스 분석을 가능하게 하며, 중심화된 데이터베이스를 통해 완전한 재현 가능성을 확보한다.

ABSTRACT

The SmartSHARK repository mining data is a collection of rich and detailed information about the evolution of software projects. The data is unique in its diversity and contains detailed information about each change, issue tracking data, continuous integration data, as well as pull request and code review data. Moreover, the data does not contain only raw data scraped from repositories, but also annotations in form of labels determined through a combination of manual analysis and heuristics, as well as links between the different parts of the data set. The SmartSHARK data set provides a rich source of data that enables us to explore research questions that require data from different sources and/or longitudinal data over time.

연구 동기 및 목표

  • 버전 제어, 이슈 추적, CI, 코드 리뷰 등의 다양한 소스에서 유래한 데이터를 통합하여 확장 가능하고 통합적이며 재현 가능한 소프트웨어 레포지터리 마이닝 데이터셋을 구축하기 위해.
  • 소프트웨어 공학 연구에서 고립되고 재현 불가능한 데이터 소스의 한계를 해결하기 위해, 다중 소스 데이터를 하나의 확장 가능한 데이터베이스로 통합하기 위해.
  • 수동으로 검증된 레이블(예: 버그 수정, 리팩터링)과 커밋, 이슈, 풀 리퀘스트 간의 자동 연결을 제공함으로써 장기적이고 다중 소스 연구를 지원하기 위해.
  • 원본 데이터, 유도된 지표, 기원 정보를 하나의 일관된 버전 관리 데이터베이스에 저장함으로써 재현 가능한 연구를 가능하게 하기 위해.
  • 정적 코드 메트릭, 리팩터링, 변경 수준의 주석 정보를 포함시켜 레포지터리 마이닝 데이터의 유용성을 확장함으로써 소프트웨어 진화 분석의 향상에 기여하기 위해.

제안 방법

  • SmartSHARK 플랫폼은 vcsSHARK, prSHARK, travisSHARK 등의 전용 도구를 사용하여 공개 소스에서 원시 데이터를 수집한다: Git 레포지터리, Jira, GitHub, Travis CI, 메일링 리스트.
  • PMd 및 RefactoringMiner 등의 도구를 사용하여 각 커밋에 대해 정적 코드 분석을 수행하여 메트릭, 클론 탐지, 리팩터링 유형을 추출한다.
  • linkSHARK 도구를 통해 텍스트적 및 구조적 유사도를 기반으로 자동으로 커밋과 이슈, 풀 리퀘스트 간의 연결을 발견한다.
  • visualSHARK를 사용하여 커밋-이슈 연결, 이슈 유형, 라인 수준의 버그 수정 변경 사항을 수동으로 검증함으로써 레이블 품질을 향상시킨다.
  • labelSHARK 및 inducingSHARK 도구는 검증된 데이터를 기반으로 레이블(예: 버그 수정 변경 사항)과 가능한 유도 변경 사항을 추론하여 후속 분석의 정확도를 향상시킨다.
  • 모든 데이터는 일관된 스키마를 가진 중심화된 버전 관리 데이터베이스에 저장되어 재현 가능한 분석과 향후 새로운 프로젝트 및 데이터 소스의 통합을 가능하게 한다.

실험 결과

연구 질문

  • RQ1코드 메트릭의 변화와 정적 분석 경고가 결함 밀도 및 제때에 결함을 예측하는 데 어떻게 관련이 있는가?
  • RQ2버그 수정 커밋을 식별하기 위한 히우리스틱(예: SZZ)이 수동으로 검증된 레이블과 얼마나 일치하는가?
  • RQ3리팩터링, 코드 주석, 기술적 부채 지표(예: TODO, 문서 변경) 간의 관계는 어떠한가?
  • RQ4메일링 리스트의 토론은 이슈 트래커 토론과 주제, 시기, 해결 패턴 측면에서 어떻게 비교될 수 있는가?
  • RQ5풀 리퀘스트 리뷰는 출시 후 버그를 효과적으로 탐지할 수 있는가? 실패하는 데 기여하는 요인은 무엇인가?

주요 결과

  • SmartSHARK 데이터셋은 버그 수정 변경 사항에 대해 수동으로 검증된 라인 수준의 레이블을 포함한 23개의 프로젝트를 포함하고 있으며, 이는 결함 예측 모델의 고정밀 평가를 가능하게 한다.
  • 수동 검증 과정에서 38개의 프로젝트에 이슈 유형 레이블(예: 버그, 기능 향상)이 존재하는 것으로 확인되었으며, 이는 이슈 유형 예측 모델의 학습 및 평가에 사용된다.
  • 데이터셋은 압축된 상태로 2.1GB이며, 공개 URL을 통해 전체 액세스가 가능하며, 성능에 민감한 사용을 위해 코드 엔티티 상태가 포함되지 않은 작은 버전도 제공된다.
  • 각 커밋에 대해 RefDiff 및 RefactoringMiner를 통해 리팩터링 자동 탐지, ChangeDistiller를 통해 변경 유형 탐지, PMD를 통해 정적 분석 경고를 포함한다.
  • Travis CI 빌드 로그와 빌드 상태가 커밋에 연결되어 있어, 시간에 따른 빌드 신뢰성 및 실패 패턴 분석이 가능하다.
  • 개발자 기여 행동을 모델링하기 위해 은닉 마르코프 모델(HMMs)을 지원하며, 장기적 연구를 위한 데이터가 제공된다.

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

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

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

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