分支的内聚性与隔离性开发
在软件开发中,分布式版本控制系统(DVC)的分支功能为开发工作带来了诸多便利。下面将详细探讨分支的内聚性、耦合与中断情况,以及相关研究的有效性威胁和相关工作。
分支的内聚性分析
为了研究分支的内聚性,我们进行了模拟实验。具体步骤如下:
1. 构建模拟分支:将不包含合并提交且长度总和恰好等于线性化历史 D 的序列映射到 D 上,形成模拟分支。这样,模拟分支的长度分布就与 Linux 内核历史中观察到的分支长度分布完全相同。
2. 计算分支内聚性:针对每个模拟分支计算其分支内聚性。如果开发者通常在分支上协同处理内聚的文件集,那么在观察到的 DVC 历史中,长度为 n 的分支的内聚性将高于 D 中长度为 n 的提交序列的内聚性。我们在模拟中生成了 1000 个平铺。
通过对 Linux 内核历史中观察到的分支长度进行分析,我们得到了以下结果:
| 分析内容 | 结果详情 |
| ---- | ---- |
| 分支长度分布 | 分布呈正偏态,90%的 Linux 内核分支长度小于 35 次提交。 |
| 内聚性比较 | 除分支长度为 34 时不具有统计学意义外,在每个长度上,观察到的分支比模拟分支更具内聚性(p < 0.05)。 |
| 内聚性差异幅度 | 在分支长度为 2(最小值)时,观察到的分支上提交的文件对平均比线性化历史 D 上的文件对近 0.12 个目录;在分支长度为 32(最大值)时,差异为 1.5 个目录。 |
| 内聚性与分支长度的相关性 | 随着分支变长,观察到的分支相对于模拟分支的内聚性越来越高(Spearman 相关性:r = 0.69,p ≪ 0.00
超级会员免费看
订阅专栏 解锁全文
2599

被折叠的 条评论
为什么被折叠?



