首页> 外文会议>25th annual ACM conference on object oriented programming, systems, languages and applications 2010 >Scalable and Systematic Detection of Buggy Inconsistencies in Source Code
【24h】

Scalable and Systematic Detection of Buggy Inconsistencies in Source Code

机译:源代码中的Buggy不一致问题的可扩展和系统检测

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

摘要

Software developers often duplicate source code to replicate functionality. This practice can hinder the maintenance of a software project: bugs may arise when two identical code segments are edited inconsistently. This paper presents DejaVu, a highly scalable system for detecting these general syntactic inconsistency bugs. DejaVu operates in two phases. Given a target code base, a parallel inconsistent clone analysis first enumerates all groups of source code fragments that are similar but not identical. Next, an extensible buggy change analysis framework refines these results, separating each group of inconsistent fragments into a fine-grained set of inconsistent changes and classifying each as benign or buggy. On a 75+ million line pre-production commercial code base, DejaVu executed in under five hours and produced a report of over 8,000 potential bugs. Our analysis of a sizable random sample suggests with high likelihood that at this report contains at least 2,000 true bugs and 1,000 code smells. These bugs draw from a diverse class of software defects and are often simple to correct: syntactic inconsistencies both indicate problems and suggest solutions.
机译:软件开发人员经常复制源代码以复制功能。这种做法可能会妨碍软件项目的维护:如果两个相同的代码段被不一致地编辑,则可能会出现错误。本文介绍了DejaVu,这是一种高度可扩展的系统,用于检测这些常规的语法不一致错误。 DejaVu分两个阶段运行。给定目标代码库,并行不一致的克隆分析首先枚举相似但不相同的所有源代码片段组。接下来,可扩展的错误更改分析框架会优化这些结果,将每组不一致的片段分为一组细粒度的不一致更改,并将每个分类分为良性或错误。在75+百万行的预生产商业代码基础上,DejaVu在不到五个小时的时间内执行,并生成了8,000多个潜在错误的报告。我们对大量随机样本的分析表明,该报告很有可能至少包含2,000个真正的错误和1,000个代码气味。这些错误来自各种各样的软件缺陷,并且通常易于纠正:语法上的不一致既表明问题,也提出了解决方案。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号