arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2003.03001cs.SE
收藏

开发过程中静态分析的成本和效益

The Cost and Benefits of Static Analysis During Development

William R. Nichols

摘要:

没有定量数据,决定是否以及如何在开发工作流中使用静态分析是专家意见和猜测的问题,而不是工程权衡。此外,在现实世界条件下收集的相关数据很少。重要但未知的定量参数包括但不限于应用技术的努力、消除缺陷的有效性、分析应应用于工作流程的何处以及静态分析如何与其他质量技术相互作用。本研究检视了35个工业开发项目的详细开发过程数据,这些项目包括静态分析,并且也使用了团队软件过程。我们收集了数据项目计划、工作日志、缺陷和规模以及事后报告,并分析了他们的开发活动的性能,以填充参数化的性能模型。我们使用一个计划模型比较了有和没有静态分析的工作量和缺陷级别,该计划模型包括缺陷删除有效性和修复工作量的反馈。我们发现的证据表明,使用每种工具,开发人员发现和删除缺陷的速度比其他删除技术更高。此外,早期和廉价的去除不仅减少了最终的缺陷密度,而且减少了总的开发工作。本文的贡献包括使用静态分析工具的项目过程数据的真实基准,使用这些数据的成本效益分析的演示,并建议这些工具始终具有成本效益的操作。

英文摘要:

Without quantitative data, deciding whether and how to use static analysis in a development workflow is a matter of expert opinion and guesswork rather than an engineering trade-off. Moreover, relevant data collected under real-world conditions is scarce. Important but unknown quantitative parameters include, but are not limited to, the effort to apply the techniques, the effectiveness of removing defects, where in the workflow the analysis should be applied, and how static analysis interacts with other quality techniques. This study examined the detailed development process data 35 industrial development projects that included static analysis and that were also instrumented with the Team Software Process. We collected data project plans, logs of effort, defect, and size and post mortem reports and analyzed performance of their development activities to populate a parameterized performance model. We compared effort and defect levels with and without static analysis using a planning model that includes feedback for defect removal effectiveness and fix effort. We found evidence that using each tool developers found and removed defects at a higher rate than alternative removal techniques. Moreover, the early and inexpensive removal reduced not only final defect density but also total development effort. The contributions of this paper include real-world benchmarks of process data from projects using static analysis tools, a demonstration of a cost-effectiveness analysis using this data, and a recommendation these tools were consistently cost effective operationally.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑