[论文解读] A Dataset for GitHub Repository Deduplication: Extended Description
本文提出一个包含1060万个项目、通过fork或clone操作识别为重复的GitHub项目数据集,每个项目均通过去噪图(1820万个节点,1200万条边)链接至其最终父项目。该方法使用六项指标和模式匹配启发式规则过滤聚集体并计算连通分量,在一个主要参考数据集中揭示了30000个重复项目,与独立数据集相比存在显著重叠,但也存在差异。
GitHub projects can be easily replicated through the site's fork<br> process or through a Git clone-push sequence. This is a problem for<br> empirical software engineering, because it can lead to skewed results<br> or mistrained machine learning models. We provide a dataset of 10.6<br> million GitHub projects that are copies of others, and link each record<br> with the project's ultimate parent. The ultimate parents were derived<br> from a ranking along six metrics. The related projects were calculated<br> as the connected components of an 18.2 million node and 12 million<br> edge denoised graph created by directing edges to ultimate parents.<br> The graph was created by filtering out more than 30 hand-picked and 2.3<br> million pattern-matched clumping projects. Projects that introduced<br> unwanted clumping were identified by repeatedly visualizing shortest path<br> distances between unrelated important projects. Our dataset identified<br> 30 thousand duplicate projects in an existing popular reference dataset<br> of 1.8 million projects. An evaluation of our dataset against another<br> created independently with different methods found a significant overlap,<br> but also differences attributed to the operational definition of what<br> projects are considered as related.
研究动机与目标
- 为解决重复GitHub仓库导致实证软件工程研究和机器学习模型偏差的问题。
- 通过基于图的方法,识别并链接1060万个重复项目至其最终父项目。
- 通过过滤30个手工挑选和230万个模式匹配的聚集体,减少项目聚集体带来的噪声。
- 通过在现有180万个项目的参考数据集中检测到30000个重复项目,验证数据集的准确性。
- 将本数据集结果与独立创建的数据集进行比较,以评估一致性及操作定义的差异。
提出的方法
- 基于六项排名指标,将边从项目指向其最终父项目,构建一个包含1820万个节点和1200万条边的图。
- 识别并过滤掉30个手工挑选和230万个模式匹配的聚集体,以减少图中的噪声。
- 通过可视化无关但重要的项目之间的最短路径距离,检测并移除不必要的聚集体。
- 在去噪图中计算连通分量,将共享相同最终父项目的项目归为一组。
- 应用多指标排名系统,基于项目特征确定每个项目的最终父项目。
- 通过在现有180万个项目的参考数据集中检测到30000个重复项目,验证数据集。
实验结果
研究问题
- RQ1通过fork或clone产生的重复GitHub项目有多少?在现有参考数据集中所占比例是多少?
- RQ2所提出的基于图的去重方法在多大程度上减少了因项目聚集体导致的误报?
- RQ3与使用不同操作定义独立创建的数据集相比,去重结果的一致性如何?
- RQ4对30个手工挑选和230万个模式匹配的聚集体进行过滤,对最终父项目识别的准确性有何影响?
- RQ5该数据集在包含180万个项目的大型真实世界参考数据集中,检测重复项目的效果如何?
主要发现
- 在广泛使用的180万个项目的参考数据集中,该数据集识别出30000个重复项目,表明存在显著的重复率。
- 本数据集与独立创建的数据集之间存在大量重叠,表明在识别重复关系方面具有稳健性。
- 尽管存在重叠,但由于对“相关项目”这一概念的操作定义不同,仍观察到差异。
- 对230万个模式匹配和30个手工挑选的聚集体进行过滤,显著降低了去重过程中的噪声。
- 基于图的方法成功通过去噪、基于指标的关联网络,将1060万个项目链接至其最终父项目。
- 对无关但重要项目之间的最短路径距离进行可视化,有效识别并移除了虚假聚集体。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。