Code, quality, and process metrics in graduated and retired ASFI projects

Code, quality, and process metrics in graduated and retired ASFI projects
复制标题

DOI:
10.1145/3540250.3549132
复制
发表时间:
2022-11
期刊:
Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Stefan Stanciulescu;Likang Yin;V. Filkov
Stefan Stanciulescu;Likang Yin;V. Filkov
中科院分区:
其他
文献类型:
--
作者:
Stefan Stanciulescu;Likang Yin;V. Filkov

文献摘要

相似文献

最近关于开源可持续性的工作表明,Apache软件基金会孵化器(ASFI)中的项目的成功轨迹可以使用一套社会技术措施进行早期预测。由于OSS项目是以代码工件为中心的社会技术系统,因此我们假设可持续项目可能会表现出与不可持续项目不同的代码和过程模式,并且随着项目的发展,这些模式会变得更加明显。在这里,我们研究了200多个ASFI项目的代码和编码过程,发现ASFI毕业项目的代码质量和复杂性与退休项目不同。对于编码过程也是如此,例如,功能提交或错误修复提交与项目毕业成功相关。我们发现,次要贡献者和主要贡献者(贡献=95%的提交)与毕业结果相关,这意味着拥有贡献较少提交的开发人员对项目的成功很重要。这项研究提供的证据表明,OSS项目,特别是新生的项目,可以受益于使用整个系统的多维建模,包括代码,流程和代码质量测量,以及它们如何随着时间的推移相互关联的内省和仪器。
Recent work on open source sustainability shows that successful trajectories of projects in the Apache Software Foundation Incubator (ASFI) can be predicted early on, using a set of socio-technical measures. Because OSS projects are socio-technical systems centered around code artifacts, we hypothesize that sustainable projects may exhibit different code and process patterns than unsustainable ones, and that those patterns can grow more apparent as projects evolve over time. Here we studied the code and coding processes of over 200 ASFI projects, and found that ASFI graduated projects have different patterns of code quality and complexity than retired ones. Likewise for the coding processes – e.g., feature commits or bug-fixing commits are correlated with project graduation success. We find that minor contributors and major contributors (who contribute =95% commits) associate with graduation outcomes, implying that having also developers who contribute fewer commits are important for a project’s success. This study provides evidence that OSS projects, especially nascent ones, can benefit from introspection and instrumentation using multidimensional modeling of the whole system, including code, processes, and code quality measures, and how they are interconnected over time.