中文

代码世界的去分支化:一个恢复跨平台分支家族而平台图无法察觉的项目溯源图

软件工程 2026-06-28 v1

摘要

Fork 共享 git 历史,因此一个提交会出现在许多代码仓库中,且任何基于原始代码仓库的传播或流行度度量都会被夸大数个数量级。我们为代码世界版本 V2604 发布了一个精心策划的去分支化图:p2PFull,它通过中心节点星型编码和并行 Louvain 聚类,基于全局共享提交关系(5179 万个共享提交组),将每个原始代码仓库 p 折叠为其所属的去分支化项目 P,并附加了限制巨型簇大小的有界变体(cap250/cap500)。朴素的共享历史并集会导致过度合并:项目图将不相关的软件焊接成巨型簇(最大无界簇包含 861,948 个代码仓库,由多达 267,200 个共享提交组桥接),其结构原因与作者身份图相同。简单的规模上限即可移除样板代码中心桥接;一个结构桥接诊断(即曾用于消解类似作者巨型簇的割集),在此处运行但刻意未应用,表明上限处理后的残余是真实的 vendored 历史,对该割集具有鲁棒性,因此我们将其原样保留。我们根据从 GHArchive ForkEvents 重建的 GitHub 声明分支图验证了该映射,发现在两个代码仓库均存在于 WoC 的条件下,边的一致率达到 99.01%。分歧分为两类:一类是完整性的副产品(GitHub 声称存在但 WoC 尚未摄取的边),另一类是核心贡献,即 GitHub 平台图无法表示的仅 WoC 拥有的分支家族,包括 5.41% 的多平台家族和 1.51% 分支根不在 GitHub 上的家族。我们还额外发布了更新的分支排除列表(1.341 亿个子节点,是 GHTorrent 时代 3950 万的 3.4 倍)以及一个分离分支清单(455,550 条硬分离边;240,441 个真正的独立起源)。所有产出物均是一个自包含、独立托管且以 WoC V2604 集合为键的复现包。

关键词

引用

@article{arxiv.2606.29550,
  title  = {Deforking the World of Code: A Project-Provenance Map that Recovers Cross-Forge Fork Families that Platform Graphs Cannot See},
  author = {Audris Mockus},
  journal= {arXiv preprint arXiv:2606.29550},
  year   = {2026}
}