Skip to main content
QUICK REVIEW

[논문 리뷰] World of Code: Enabling a Research Workflow for Mining and Analyzing the Universe of Open Source VCS data

Yuxing Ma, Tapajit Dey|arXiv (Cornell University)|2020. 10. 30.
Software Engineering Research참고 문헌 65인용 수 9
한 줄 요약

World of Code (WoC)는 전체 오픈소스 소프트웨어 생태계에서 유래한 180억 개 이상의 Git 오브젝트를 집계하고 상호 참조하는 확장성 있고 업데이트 가능한 인프라로, 코드, 의존성, 개발자 활동의 대규모 채굴 및 분석을 가능하게 한다. 효율적인 데이터 색인, 대상 지향 보강, 그리고 일련의 분석 기능을 통해 생태계 측정, 공급망 분석, 추세 탐지 등의 글로벌 연구 과제를 지원하며, 이로 인해 이전에는 불가능했던 전체 FLOSS 생태계에 대한 연구가 가능해졌다.

ABSTRACT

Open source software (OSS) is essential for modern society and, while substantial research has been done on individual (typically central) projects, only a limited understanding of the periphery of the entire OSS ecosystem exists. For example, how are the tens of millions of projects in the periphery interconnected through. technical dependencies, code sharing, or knowledge flow? To answer such questions we: a) create a very large and frequently updated collection of version control data in the entire FLOSS ecosystems named World of Code (WoC), that can completely cross-reference authors, projects, commits, blobs, dependencies, and history of the FLOSS ecosystems and b) provide capabilities to efficiently correct, augment, query, and analyze that data. Our current WoC implementation is capable of being updated on a monthly basis and contains over 18B Git objects. To evaluate its research potential and to create vignettes for its usage, we employ WoC in conducting several research tasks. In particular, we find that it is capable of supporting trend evaluation, ecosystem measurement, and the determination of package usage. We expect WoC to spur investigation into global properties of OSS development leading to increased resiliency of the entire OSS ecosystem. Our infrastructure facilitates the discovery of key technical dependencies, code flow, and social networks that provide the basis to determine the structure and evolution of the relationships that drive FLOSS activities and innovation.

연구 동기 및 목표

  • 전체 오픈소스 소프트웨어(FLOSS) 생태계 전반에 걸쳐 종합적이고 상호 참조 가능한 데이터가 부족한 문제를 해결함으로써, 코드 공유, 의존성, 개발자 네트워크에 대한 글로벌 연구를 제한하는 요소를 해소하고자 한다.
  • 개별 또는 제한된 프로젝트 집합에만 초점을 맞춘 기존 도구들이 겪는 확장성 및 데이터 품질 문제를 극복하고자 한다.
  • 통합적이고 업데이트 가능한 데이터 인프라 제공을 통해 글로벌 소프트웨어 공급망 위험, 생태계 역학, 혁신 패턴에 대한 연구를 가능하게 하고자 한다.
  • 버전화된 데이터 스냅샷과 효율적인 쿼리 기능을 통해 재현 가능한 대규모 실증 연구를 지원하고자 한다.
  • 연구자와 산업계가 공용으로 사용할 수 있고 확장 가능한 플랫폼을 제공함으로써 공개 버전 관리 데이터의 전반적 범위를 분석하는 데 기여하고자 한다.

제안 방법

  • WoC 인프라는 확장성과 유연성을 확보하기 위해 분산형 마이크로서비스 아키텍처를 사용하여 공개 저장소(주로 GitHub)에서 유래한 180억 개 이상의 Git 오브젝트를 수신하고 색인화한다.
  • 커밋에서 블롭, 프로젝트에서 저자, 저장소 간 의존성에 이르기까지 상호 참조 가능한 데이터 구조를 구성함으로써 전체 FLOSS 생태계를 아우르는 글로벌 쿼리가 가능해진다.
  • 쿼리 효율성을 유지하면서도 핵심 분석 기능을 손상시키지 않기 위해 성능에 악영향을 미치는 커밋(예: 수백만 개의 빈 파일 포함)을 필터링하는 등 대상 지향 데이터 정제 및 보강을 수행한다.
  • 이전의 Git 오브젝트 스토어 및 파생된 분석 지ap을 유지하기 위한 일련의 버전 관리 메커니즘이 연구 결과의 재현 가능성을 장기간 보장한다.
  • 최적화된 데이터 구조(예: 커밋-파일 및 커밋-블롭 맵)를 사용하는 분석 계층이 대규모 환경에서도 선형 시간 내에 쿼리가 가능하게 한다.
  • 확장 가능성을 고려해 설계되어 있어 점진적 업데이트, 컴ponent 교체, 새로운 데이터 소스 또는 분석 모듈의 통합이 가능하다.

실험 결과

연구 질문

  • RQ1전체 FLOSS 생태계 전반에 걸쳐 개별 프로젝트나 클러스터에 국한되지 않고 대규모 상호 참조 분석을 어떻게 실현할 수 있는가?
  • RQ2통합된 데이터 인프라를 통해 어떤 글로벌 소프트웨어 생태계 특성—의존성 체인, 코드 재사용 패턴, 개발자 협업 네트워크 등—을 대규모로 측정할 수 있는가?
  • RQ3기본 데이터가 지속적으로 업데이트되는 상황에서 대규모 소프트웨어 채굴 연구의 재현 가능성과 신뢰성을 어떻게 확보할 수 있는가?
  • RQ4정확하고 효율적인 분석을 대규모로 수행하기 위해 원시 버전 관리 데이터를 어떻게 청소, 수정, 보강할 수 있는가?
  • RQ5공용으로 사용할 수 있고 확장 가능한 인프라는 연구자와 산업계가 글로벌 소프트웨어 공급망과 생태계 지속 가능성 연구에 진입하는 데 장벽을 어떻게 낮출 수 있는가?

주요 결과

  • WoC 인프라는 180억 개 이상의 Git 오브젝트를 성공적으로 수신 및 유지 관리하여, 이전에는 프로젝트 중심 도구로는 달성하기 어려웠던 오픈소스 생태계의 대규모 분석을 가능하게 하였다.
  • 최적화된 데이터 색인과 성능에 악영향을 미치는 자산의 필터링 덕분에, 대규모 환경에서도 커밋-파일 및 커밋-블롭 맵핑과 같은 복잡한 관계에 대해 선형 시간 내에 효율적인 쿼리가 가능하다.
  • Git 오브젝트 스토어와 파생된 분석 지도를 모두 버전화함으로써 연구 결과의 재현 가능성을 확보하여 과거 데이터 상태의 재구성과 일관된 결과 재현이 가능해졌다.
  • WoC는 글로벌 기술적 의존성, 코드 흐름, 개발자 사회 네트워크의 탐색을 가능하게 하여 FLOSS 생태계의 구조와 진화를 이해하는 기반을 마련하였다.
  • 실제 사례 및 초청된 연구자 사용 사례를 통해 생태계 측정, 추세 평가, 공급망 분석 등 다양한 연구 과제를 지원함을 입증하였다.
  • 마이크로서비스 아키텍처 덕분에 시스템의 모듈식 확장과 진화가 가능하여, 향후 새로운 데이터 소스, 분석 파이프라인, 산업 도구 통합 등의 향후 개선 사항을 수용할 수 있다.

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

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

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

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