论文标题
开发过程中静态分析的成本和收益
The Cost and Benefits of Static Analysis During Development
论文作者
论文摘要
没有定量数据,决定是否以及如何在开发工作流程中使用静态分析是专家意见和猜测的问题,而不是工程学的权衡。此外,在实际条件下收集的相关数据很少。重要但未知的定量参数包括但不限于应用技术的努力,消除缺陷的有效性,在工作流程中应应用分析以及静态分析如何与其他质量技术相互作用。这项研究检查了详细的开发过程数据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.