CAM: A Collection of Snapshots of GitHub Java Repositories Together with Metrics

2024年03月13日
  • 简介
    尽管许多研究人员需要稳定的数据集以及这些数据集的源代码和基本度量标准,但是GitHub或其他任何代码托管平台都没有提供这样的资源。因此,每个研究人员都必须下载自己的数据,计算必要的度量标准,然后在某个地方发布数据集,以确保其长期可访问。我们的CAM(代表“类和度量”)项目解决了这个需求。它是一个开源软件,能够从GitHub克隆Java存储库,过滤掉不必要的文件,解析Java类,并计算度量标准,例如圆形复杂度、Halstead工作量和体积、C&K度量标准、可维护性度量标准、LCOM5和HND,以及一些基于Git的度量标准。至少每年一次,我们执行整个脚本,这个过程需要在非常强大的服务器上最少十天的时间,以生成新的数据集。随后,我们将其发布在Amazon S3上,从而确保其作为研究人员的参考资料的可用性。我们于2024年3月2日发布的最新2.2GB存档包括532K个Java类,每个类有48个度量标准。
  • 图表
  • 解决问题
    CAM项目的介绍与意义
  • 关键思路
    CAM项目可以自动从GitHub上克隆Java仓库,并计算出各种Java类的代码质量指标,为研究者提供了一个稳定的数据集
  • 其它亮点
    CAM项目可以生成一个包含48种代码质量指标的Java类数据集,并发布到Amazon S3上,供研究者参考。CAM项目的代码是开源的,可以帮助研究者节省大量时间和精力。
  • 相关研究
    在类似的研究中,也有一些研究者尝试使用GitHub上的开源代码进行研究。例如,一些研究者使用GitHub上的代码来研究软件缺陷预测和代码复杂度等问题。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论