公共源代码随时间的增长与复制:大规模溯源追踪
软件工程
2019-06-20 v1
摘要
我们研究了已知最大的公共可用源代码语料库的演化,即Software Heritage档案(40亿个唯一源代码文件,10亿次提交,记录了5000万个软件项目的开发历史)。在此语料库上,我们量化了前所未见的原始源代码文件与提交的增长率。我们发现其增长率在逾40年的时期内呈指数型。随后我们估计了倍增因子,即相同制品(如文件或提交)在不同上下文(如提交或源代码分发位置)中出现的频次。我们观察到相同源代码文件在不同提交中的倍增呈现组合爆炸。我们讨论了这些发现对于在整个公共可用源代码体中追踪源代码制品溯源(例如给定源代码文件或提交在现实中于何时何处被观测到)这一问题的影响。为此,我们针对在此规模与增长率下捕获软件溯源信息的不同数据模型进行了基准测试。我们确定了一种可在商用硬件上部署、且在可预见的未来可维护的可行方案。
引用
@article{arxiv.1906.08076,
title = {Growth and Duplication of Public Source Code over Time: Provenance Tracking at Scale},
author = {Guillaume Rousseau and Roberto Di Cosmo and Stefano Zacchiroli},
journal= {arXiv preprint arXiv:1906.08076},
year = {2019}
}