Skip to main content
QUICK REVIEW

[논문 리뷰] Pull Request Decision Explained: An Empirical Overview

Xunhui Zhang, Yue Yu|arXiv (Cornell University)|2021. 05. 28.
Software Engineering Research참고 문헌 60인용 수 4
한 줄 요약

이 연구는 11,230개 프로젝트에서 유입된 335만 개의 풀 리퀘스트(Pull Request, PR)를 대상으로 한 대규모 데이터셋을 활용해 GitHub에서의 PR 결정 과정을 실증적으로 설명한다. 가장 중요한 요인은 기여자와 통합자(인테그레이터)가 동일한 사람인가 여부로, 이는 결정 변동성의 30% 이상을 설명하며, CI 사용 여부와 논의 분위기의 정서적 성향 등 맥락에 따라 영향을 받는다.

ABSTRACT

Context: Pull-based development model is widely used in open source, leading the trends in distributed software development. One aspect which has garnered significant attention is studies on pull request decision - identifying factors for explanation. Objective: This study builds on a decade long research on pull request decision to explain it. We empirically investigate how factors influence pull request decision and scenarios that change the influence of factors. Method: We identify factors influencing pull request decision on GitHub through a systematic literature review and infer it by mining archival data. We collect a total of 3,347,937 pull requests with 95 features from 11,230 diverse projects on GitHub. Using this data, we explore the relations of the factors to each other and build mixed-effect logistic regression models to empirically explain pull request decision. Results: Our study shows that a small number of factors explain pull request decision with the integrator same or different from the submitter as the most important factor. We also noted that some factors are important only in special cases e.g., the percentage of failed builds is important for pull request decision when continuous integration is used.

연구 동기 및 목표

  • 오픈소스 소프트웨어 개발에서 풀 리퀘스트 결정에 영향을 주는 요인에 관한 기존 지식을 종합하는 것.
  • GitHub에서의 실증 데이터를 활용해 PR 결정 과정에서 가장 영향력 있는 요인을 특정하고 정량화하는 것.
  • CI 사용 여부나 댓글 존재 여부와 같은 다양한 개발 맥락에서 요인의 중요성이 어떻게 변화하는지 조사하는 것.
  • 향후 소프트웨어 공학 분야 연구를 위해 11,230개 프로젝트와 95개 기능을 포함한 종합적이고 다양한 데이터셋을 제공하는 것.
  • 고도로 실증적 타당성을 확보한 혼합효과 로지스틱 회귀 모델을 구축하여 PR 수락 또는 기각을 설명하는 것.

제안 방법

  • PR 결정에 영향을 주는 95개의 요인을 기존 연구에서 도출하기 위해 체계적 문헌 리뷰(Systematic Literature Review, SLR)를 수행하였다.
  • 11,230개의 GitHub 프로젝트에서 기록된 데이터를 수집하고 처리하였으며, 이는 PR 메타데이터, 기여자 행동, CI 결과, 논의 기능 등을 포함한다.
  • 식별된 요인을 나타내는 95개 지표를 추출하기 위해 데이터 전처리를 수행하였으며, 다양한 프로젝트와 프로그래밍 언어 간 일관성을 확보하였다.
  • 각 요인이 PR 결정(수락/기각)에 미치는 영향을 분석하기 위해 혼합효과 로지스틱 회귀 모델을 적용하였으며, 프로젝트 수준의 무작위 효과를 고려하였다.
  • 특정 맥락(예: CI 기반 PR, 댓글이 있는 PR)에서 요인 중요도가 어떻게 변화하는지 평가하기 위해 하위군 분석을 수행하였다.
  • 탐색적 데이터 분석과 모델 진단을 통해 연구 결과의 탄탄성과 일반화 가능성을 검증하였다.

실험 결과

연구 질문

  • RQ1RQ1: 다양한 요소들이 풀 리퀘스트 결정 결과에 어떻게 영향을 미치는가?
  • RQ2RQ2: 이러한 요소들의 영향력은 CI 사용 여부나 댓글 활동과 같은 맥락 조건에 따라 변화하는가?

주요 결과

  • 기여자와 통합자가 동일한 사용자인가 여부라는 요소가 가장 영향력이 크며, 이는 PR 결정 결과의 변동성의 30퍼센트 이상을 설명한다.
  • 연속적 통합(CI)이 사용되는 경우, 실패한 CI 빌드의 비율이 PR 기각의 중요한 예측 변수가 된다.
  • PR 논의에서 긍정적인 정서가 존재할수록 수락 확률이 높아지며, 특히 댓글이 존재할 경우 더욱 두드러진다.
  • CI 도구의 사용은 논의의 중요성을 상대적으로 낮추며, 이는 일부 경우에서 CI가 동료 검토를 대체할 수 있음을 시사한다.
  • 다만, PR 결정 모델의 다수의 설명력을 담당하는 요소는 5에서 10개에 불과하여, 요소의 효율성이 매우 높음을 시사한다.
  • 이 연구는 이전 연구에서 간과되었으나 매우 중요한 요소로 밝혀진 '기여자-통합자 신원 일치'라는 요소를 처음으로 규명하였다.

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

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

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

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