中文

开发过程中静态分析的成本与收益

软件工程 2020-03-09 v1

摘要

在没有定量数据的情况下,决定是否以及如何在开发工作流中使用静态分析,是专家意见和猜测而非工程权衡的问题。此外,在真实条件下收集的相关数据十分匮乏。重要但未知的定量参数包括但不限于:应用技术所需的工作量、去除缺陷的有效性、应在工作流的何处应用分析,以及静态分析如何与其他质量技术相互作用。本研究考察了 35 个包含静态分析且同时采用 Team Software Process 进行度量的工业开发项目的详细开发过程数据。我们收集了项目计划、工作量日志、缺陷与规模日志以及事后报告等数据,并分析了其开发活动的性能以填充一个参数化性能模型。我们使用一个包含缺陷去除有效性和修复工作量的反馈的规划模型,比较了有和没有静态分析时的工作量和缺陷水平。我们发现的证据表明,使用每种工具的开发人员发现和去除缺陷的速率高于替代去除技术。此外,早期且低成本的去除不仅降低了最终缺陷密度,也降低了总开发工作量。本文的贡献包括使用静态分析工具项目的真实过程数据基准、利用该数据进行成本效益分析的演示,以及这些工具在操作上始终具有成本效益的建议。

关键词

引用

@article{arxiv.2003.03001,
  title  = {The Cost and Benefits of Static Analysis During Development},
  author = {William R. Nichols},
  journal= {arXiv preprint arXiv:2003.03001},
  year   = {2020}
}

备注

10 pages plus feferences