CAM:附带度量的GitHub Java仓库快照合集
软件工程
2024-03-14 v1
摘要
尽管许多研究者需要稳定的数据集以及在其上计算好的源代码和基本度量,但GitHub或任何其他代码托管平台均不提供此类资源。因此,每位研究者都必须自行下载数据、计算必要的度量,然后将数据集发布到某处以确保其可长期访问。我们的CAM(代表“类与度量”)项目满足了这一需求。它是一个开源软件,能够从GitHub克隆Java仓库,过滤掉不必要的文件,解析Java类,并计算诸如圈复杂度、Halstead工作量和体积、C&K度量、可维护性度量、LCOM5和HND,以及一些基于Git的度量等指标。我们至少每年一次在功能强大的服务器上执行整个脚本(该过程至少需要十天)以生成新的数据集。随后,我们将其发布到Amazon S3上,从而确保其作为研究者参考资源的可用性。我们于2024年3月2日发布的最新存档大小为2.2Gb,包含532K个Java类,每个类有48个度量。
引用
@article{arxiv.2403.08488,
title = {CAM: A Collection of Snapshots of GitHub Java Repositories Together with Metrics},
author = {Yegor Bugayenko},
journal= {arXiv preprint arXiv:2403.08488},
year = {2024}
}