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

Scalable and Systematic Detection of Buggy Inconsistencies in Source Code

机译:源代码中的错误不一致的可扩展和系统检测

获取原文

摘要

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 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号