首页> 外文会议>2013 20th Working Conference on Reverse Engineering >Clustering static analysis defect reports to reduce maintenance costs
【24h】

Clustering static analysis defect reports to reduce maintenance costs

机译:聚集静态分析缺陷报告以减少维护成本

获取原文
获取原文并翻译 | 示例

摘要

Static analysis tools facilitate software maintenance by automatically identifying bugs in source code. However, for large systems, these tools often produce an overwhelming number of defect reports. Many of these defect reports are conceptually similar, but addressing each report separately costs developer effort and increases the maintenance burden. We propose to automatically cluster machine-generated defect reports so that similar bugs can be triaged and potentially fixed in aggregate. Our approach leverages both syntactic and structural information available in static bug reports to accurately cluster related reports, thus expediting the maintenance process. We evaluate our technique using 8,948 defect reports produced by the Coverity Static Analysis and FindBugs tools in both C and Java programs totaling over 14 million lines of code. We find that humans overwhelmingly agree that clusters of defect reports produced by our tool could be handled aggregately, thus reducing developer maintenance effort. Additionally, we show that our tool is not only capable of perfectly accurate clusters, but can also significantly reduce the number of defect reports that have to be manually examined by developers. For instance, at a level of 90% accuracy, our technique can reduce the number of individually inspected defect reports by 21.33% while other multi-language tools fail to obtain more than a 2% reduction.
机译:静态分析工具通过自动识别源代码中的错误来促进软件维护。但是,对于大型系统,这些工具通常会产生大量的缺陷报告。这些缺陷报告中有许多在概念上是相似的,但是分别处理每个报告会消耗开发人员的精力并增加维护负担。我们建议自动对机器生成的缺陷报告进行聚类,以便可以对类似的错误进行分类,并可能将其汇总起来修复。我们的方法利用静态错误报告中可用的语法和结构信息来准确地将相关报告聚类,从而加快了维护过程。我们使用Coverity Static Analysis和FindBugs工具在C和Java程序中生成的8,948个缺陷报告评估了我们的技术,这些缺陷报告共计1400万行代码。我们发现人们完全同意可以汇总处理由我们的工具生成的缺陷报告簇,从而减少了开发人员的维护工作。此外,我们证明了我们的工具不仅能够完美地实现准确的集群,而且还可以显着减少开发人员必须手动检查的缺陷报告的数量。例如,在90%的精度水平上,我们的技术可以将单独检查的缺陷报告的数量减少21.33%,而其他多语言工具则无法减少2%以上。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号