内核代码与非内核代码存在差异吗?以 BSD 系列操作系统为例的研究
软件工程
2022-12-23 v1 操作系统
摘要
代码流失与代码速度描述了代码库的演化。当前研究在高抽象层次上量化并研究代码流失与速度,通常在整体项目层面甚至整个公司层面。我们认为这种方法忽略了大型项目各子系统间的显著差异。我们对四个 BSD 系列操作系统:DragonFlyBSD、FreeBSD、NetBSD 与 OpenBSD 进行了探索性研究。我们挖掘了 797,879 次提交,从不同子系统(内核、非内核与混合)的年度增长率、提交类型、变更类型比及提交规模分类法来刻画代码流失。我们还考察了各类代码审查周期(即首次响应时间、接受时间与合并时间)作为代码速度指标的差异。我们的研究提供了经验证据:全局系统范围的量化演化代码特征未能考虑子系统层面存在的显著个体差异。我们发现,尽管 BSD 各子系统的代码库增长率与提交类型(中性、增加性与删减性)分布存在相似性,但(a)多数提交仅含内核或非内核代码,(b)内核提交规模大于非内核提交,且(c)内核代码的代码审查时间长于非内核代码。
引用
@article{arxiv.2206.05616,
title = {Is Kernel Code Different From Non-Kernel Code? A Case Study of BSD Family Operating Systems},
author = {Gunnar Kudrjavets and Jeff Thomas and Nachiappan Nagappan and Ayushi Rastogi},
journal= {arXiv preprint arXiv:2206.05616},
year = {2022}
}
备注
13 pages. To be published in 38th IEEE International Conference on Software Maintenance and Evolution (ICSME 2022), Oct 3-7, 2022, Limassol, Cyprus