首页> 外文会议>IEEE/ACM International Conference on Automated Software Engineering >Detecting bad smells in source code using change history information
【24h】

Detecting bad smells in source code using change history information

机译:使用更改历史信息检测源代码中的不良气味

获取原文

摘要

Code smells represent symptoms of poor implementation choices. Previous studies found that these smells make source code more difficult to maintain, possibly also increasing its fault-proneness. There are several approaches that identify smells based on code analysis techniques. However, we observe that many code smells are intrinsically characterized by how code elements change over time. Thus, relying solely on structural information may not be sufficient to detect all the smells accurately. We propose an approach to detect five different code smells, namely Divergent Change, Shotgun Surgery, Parallel Inheritance, Blob, and Feature Envy, by exploiting change history information mined from versioning systems. We applied approach, coined as HIST (Historical Information for Smell deTection), to eight software projects written in Java, and wherever possible compared with existing state-of-the-art smell detectors based on source code analysis. The results indicate that HIST's precision ranges between 61% and 80%, and its recall ranges between 61% and 100%. More importantly, the results confirm that HIST is able to identify code smells that cannot be identified through approaches solely based on code analysis.
机译:代码异味代表了差的实施选择症状。以前的研究发现,这些嗅觉使源代码更难以维持,可能也增加了其故障的故障。存在几种方法,该方法识别基于码分析技术的嗅觉。然而,我们观察到,许多代码嗅觉是本质上的特征,这些代码元素如何随时间变化。因此,仅依赖于结构信息可能不足以准确地检测所有气味。我们提出了一种方法来检测五种不同的代码气味,即发出的变化,霰弹枪手术,并行继承,Blob和功能嫉妒,通过利用版本控制系统中挖掘的变更历史信息。我们应用了方法,作为HIST(闻名历史检测的历史信息),以基于源代码分析的现有最先进的气味探测器相比,在java中写入八个软件项目。结果表明,诗女的精度范围为61%至80%,其召回范围在61%和100%之间。更重要的是,结果证实,SIST能够通过仅基于代码分析来识别无法通过方法来识别的代码气味。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号