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)|Oct 30, 2020
Software Engineering Research参考文献 65被引用数 9
ひとこと要約

World of Code (WoC) は、オープンソースソフトウェアエコシステム全体から180億以上のGitオブジェクトを集約・相互参照するスケーラブルでアップデート可能なインfraストラクチャであり、コード、依存関係、開発者活動の大規模なマイニングと分析を可能にする。効率的なデータインデキシング、ターゲットドアグメンテーション、バージョニングされたアナリティクスを通じて、エコシステムの測定、サプライチェーン分析、トレンド検出といったグローバル研究タスクを支援し、かつて不可能とされてきた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)エコシステム全体にわたる包括的で相互参照可能なデータの欠如が、コード共有、依存関係、開発者ネットワークに関するグローバル研究を制限しているという問題に対処すること。
  • 個々のプロジェクトや限定されたプロジェクト群に焦点を当てた既存のツールが直面するスケーラビリティおよびデータ品質の課題を克服すること。
  • 統一的でアップデート可能なデータインfraストラクチャを提供することで、グローバルなソフトウェアサプライチェーンリスク、エコシステムダイナミクス、イノベーションパターンに関する研究を可能にすること。
  • バージョニングされたデータスナップショットと効率的なクエリ機能を備えることで、再現可能で大規模な実証的研究を支援すること。
  • 全範囲の公開バージョン管理データを分析するための共有可能で拡張可能なプラットフォームを提供することで、産業界および学術研究を支援すること。

提案手法

  • WoCインfraストラクチャは、主にGitHubからの公開リポジトリから、180億以上のGitオブジェクトをインgestし、スケーラビリティと拡張性を実現する分散型マイクロサービスアーキテクチャを用いてインデキシングする。
  • コミットからブロブ、プロジェクトから著者、リポジトリ間の依存関係に至るまで、相互参照可能なデータ構造を構築することで、FLOSSエコシステム全体にわたるグローバルクエリを可能にする。
  • パフォーマンスに悪影響を及げるコミット(例:数百万の空ファイルを含むもの)のフィルタリングなど、ターゲットドアグメンテーションを実施することで、クエリ効率を維持しつつも、コアな分析用途への影響を最小限に抑える。
  • バージョニングメカニズムにより、Gitオブジェクトストアおよび派生アナリティクスマップの過去の状態を保存し、研究結果の再現性を長期にわたり保証する。
  • 最適化されたデータ構造(例:コミットからファイル、コミットからブロブへのマップ)をアナリティクスレイヤーで使用することで、大規模スケールでも線形時間オーダーのクエリが可能になる。
  • 拡張性を前提に設計されており、段階的アップデート、コンponentの交換、新しいデータソースや分析モジュールの統合が可能である。

実験結果

リサーチクエスチョン

  • RQ1FLOSSエコシステム全体にわたる大規模かつ相互参照可能なオープンソースソフトウェア開発分析を、個々のプロジェクトやクラスタに限定されない形でどのように実現できるか?
  • RQ2統一されたデータインfraストラクチャを用いることで、依存関係チェーン、コードリユースパターン、開発者協働ネットワークといった、ソフトウェアエコシステムのグローバルな特性をどのようにスケールで測定できるか?
  • RQ3基礎となるデータが継続的に更新される状況下で、大規模なソフトウェアマイニング研究の再現性と信頼性をどのように確保できるか?
  • RQ4大規模な分析を正確かつ効率的に行うために、どのようにして生のバージョン管理データをクリーニング・補正・拡張すべきか?
  • RQ5共有可能でスケーラブルなインフラストラクチャは、研究者や産業界がグローバルなソフトウェアサプライチェーンおよびエコシステム持続可能性を研究するにあたり、どのような形で参入障壁を低減できるか?

主な発見

  • WoCインフラストラクチャは、180億以上のGitオブジェクトを効果的にインジェストおよび維持できており、かつてプロジェクト中心のツールでは到達できなかったスケールでオープンソースエコシステムの大規模分析を可能にした。
  • 最適化されたデータインデキシングとパフォーマンスに悪影響を及げるアセットのフィルタリングにより、コミットからファイル、コミットからブロブへの複雑な関係の線形時間オーダーのクエリが、大規模スケールでも効率的に実行可能である。
  • Gitオブジェクトストアと派生アナリティクスマップの両方をバージョニングすることで、研究の再現性が確保され、過去のデータ状態の再構築と一貫性のある結果再現が可能になる。
  • WoCは、グローバルな技術的依存関係、コードフロー、開発者ソーシャルネットワークの発見を可能にし、FLOSSエコシステムの構造と進化を理解する基盤を提供する。
  • エコシステム測定、トレンド評価、サプライチェーン分析といった多様な研究タスクを、実世界の事例および招待された研究者によるユースケースを通じて実証した。
  • マイクロサービスアーキテクチャにより、システムのモジュラーな拡張と進化が可能であり、今後の拡張として新しいデータソース、分析パイプライン、業界ツールとの統合が可能になる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。