Skip to main content
QUICK REVIEW

[논문 리뷰] How Do Software Developers Use GitHub Actions to Automate Their Workflows?

Timothy Kinsman, Mairieli Wessel|arXiv (Cornell University)|2021. 03. 22.
Software Engineering Research참고 문헌 38인용 수 65
한 줄 요약

이 연구는 926개의 프로젝트를 대상으로 회귀 중단 설계를 활용하여 오픈소스 개발자가 GitHub Actions를 워크플로우 자동화에 어떻게 사용하는지 조사한다. 연구 결과, 채택은 기각된 풀 리퀘스트 수를 증가시키고, 머지된 풀 리퀘스트의 커밋 수를 감소시키며, 긍정적인 개발자 인식에도 불구하고 워크플로우의 마찰을 유발할 수 있음을 시사한다.

ABSTRACT

Automated tools are frequently used in social coding repositories to perform repetitive activities that are part of the distributed software development process. Recently, GitHub introduced GitHub Actions, a feature providing automated workflows for repository maintainers. Although several Actions have been built and used by practitioners, relatively little has been done to evaluate them. Understanding and anticipating the effects of adopting such kind of technology is important for planning and management. Our research is the first to investigate how developers use Actions and how several activity indicators change after their adoption. Our results indicate that, although only a small subset of repositories adopted GitHub Actions to date, there is a positive perception of the technology. Our findings also indicate that the adoption of GitHub Actions increases the number of monthly rejected pull requests and decreases the monthly number of commits on merged pull requests. These results are especially relevant for practitioners to understand and prevent undesirable effects on their projects.

연구 동기 및 목표

  • 오픽소스 프로젝트가 워크플로우 자동화를 위해 GitHub Actions를 어떻게 사용하는지 이해하기 위해.
  • 이슈 트래커에서 개발자들이 GitHub Actions를 어떻게 논의하는지 검토하기 위해.
  • GitHub Actions 채택이 풀 리퀘스트 수량, 커밋 빈도, 리뷰 주기와 같은 프로젝트 활동 지표에 미치는 영향을 평가하기 위해.
  • 자동화가 기여자 참여도와 코드 품질에 부작용을 초래할 수 있는지를 규명하기 위해.

제안 방법

  • RepoReapers 데이터셋과 GitHub API를 활용해 3,190개의 활성 GitHub 리포지토리에서 데이터를 수집하였다.
  • `.github/workflows/` 디렉터리 내 YAML 파일 탐지를 통해 GitHub Actions 채택 여부를 식별하였다.
  • Actions에 대해 논의된 209개의 GitHub 이슈를 수작업 분석하여 개발자 정서와 우려 사항을 분류하였다.
  • Regression Discontinuity Design (RDD)를 적용하여 Actions 채택 전후의 프로젝트 활동 지표 변화를 모델링하였다.
  • 통계적 통제 및 가짜 테스트를 통해 모델의 탄력성 확보 및 혼란 요인 감소를 위해 노력하였다.
  • 워크플로우 파일의 커밋 기록을 추적하여 Actions의 시간에 따른 진화 및 안정성 분석을 수행하였다.

실험 결과

연구 질문

  • RQ1RQ1: 오픈소스 프로젝트는 GitHub Actions를 어떻게 사용하며, 그 채택은 얼마나 일반적인가?
  • RQ2RQ2: 개발자들은 이슈 트래커에서 GitHub Actions 사용을 어떻게 논의하는가?
  • RQ3RQ3: GitHub Actions 채택이 풀 리퀘스트 수량, 커밋 빈도, 그리고 닫히는 데 걸리는 시간과 같은 프로젝트 활동 지표에 어떤 영향을 미치는가?

주요 결과

  • 연구 대상 416,266개 리포지토리 중 0.7%만이 GitHub Actions를 채택하여, 제한적이지만 점차 증가하는 사용 추세를 보였다.
  • 70%의 Actions가 지속적 통합, 유틸리티, 배포 분야에 사용되었다.
  • GitHub 이슈에서의 개발자 논의는 주로 긍정적이었으며, 주요 주제로는 다른 도구에서의 이관 및 기능 요청이 포함되었다.
  • GitHub Actions 채택으로 인해 월간 기각된 풀 리퀘스트 수가 통계적으로 유의미하게 증가하였다.
  • 또한 머지된 풀 리퀘스트당 커밋 수가 감소하여, 머지 후 코드 반복의 감소를 시사하였다.
  • 풀 리퀘스트 닫히는 데 걸리는 시간에 유의미한 변화가 없었으며, 이는 자동화가 해결 시간을 가속화하거나 지연시키지 않았음을 시사한다.

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

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

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

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