中文

PMD 对 Apache 开源项目软件质量影响的静态分析警告演化纵向研究

软件工程 2021-09-09 v3

摘要

自动化静态分析工具(ASATs)已成为软件开发工作流的重要组成部分。对生成的警告采取行动,即修改警告所指出的代码,最迟应在代码审查阶段完成。尽管这是软件开发中的最佳实践,但关于 ASATs 在实际环境中使用的实证研究仍然匮乏。在本工作中,我们以 PMD 作为 ASAT 及其在开源项目中的使用为例,研究软件中 ASAT 警告的趋势。我们分析了 54 个项目(共 112,266 次提交)的提交历史,考虑了 193 条 PMD 规则和 61 个 PMD 版本。我们针对所选研究对象,调查了长达 17 年的 ASAT 警告趋势,涉及警告类型的变化、ASAT 使用的短期与长期影响,以及警告严重级别的变化。我们发现,ASAT 警告的大规模全局变化主要源于有关括号和命名规范的代码风格变更。我们还发现,令人惊讶的是,项目中构建流程里 PMD 的存在对每千行代码警告数的警告消除趋势影响很小且统计上不显著。尽管如此,若以缺陷密度作为外部质量的代理指标,我们观察到在研究对象构建配置中存在 PMD 时具有正向效应。

关键词

引用

@article{arxiv.1912.02179,
  title  = {A Longitudinal Study of Static Analysis Warning Evolution and the Effects of PMD on Software Quality in Apache Open Source Projects},
  author = {Alexander Trautsch and Steffen Herbold and Jens Grabowski},
  journal= {arXiv preprint arXiv:1912.02179},
  year   = {2021}
}

备注

preprint