持续集成与软件质量:一项因果解释性研究
软件工程
2023-09-20 v1
摘要
持续集成(CI)是一项旨在降低团队间代码集成成本与风险的软件工程实践。近期的实证研究已确认 CI 与软件质量(SQ)之间的关联。然而,现有研究均未探讨 CI 与 SQ 之间的因果关系。本文通过应用因果有向无环图(DAGs)技术对此进行调查。我们结合另外两种策略以支撑该技术:文献综述与挖掘软件仓库(MSR)研究。在第一阶段,我们综述文献以发现 CI 与 SQ 之间已有的关联,这有助于我们在第二阶段创建“基于文献的因果 DAG”。该 DAG 封装了文献中关于 CI 及其对 SQ 影响的假设。在第三阶段,我们通过挖掘软件仓库分析了 70 个开源项目的 12 个活动月——其中 35 个为 CI 项目,35 个为非 CI 项目。该 MSR 研究并非典型的“相关非因果”研究,因其用于验证前期阶段所生成的因果 DAG 中揭示的关系。第四阶段由在我们的数据集上检验“基于文献的因果 DAG”的统计蕴含构成。最后,在第五阶段,我们构建了融合文献与数据集观测的 DAG,即“文献-数据 DAG”。除 CI 对 SQ 的直接因果效应外,我们发现了 CI 间接效应的证据。例如,CI 影响团队沟通,而沟通对 SQ 有正向影响。我们还强调了项目年龄的混杂效应。
引用
@article{arxiv.2309.10205,
title = {Continuous Integration and Software Quality: A Causal Explanatory Study},
author = {Eliezio Soares and Daniel Alencar da Costa and Uirá Kulesza},
journal= {arXiv preprint arXiv:2309.10205},
year = {2023}
}