首页> 外文期刊>Journal of Software Maintenance and Evolution >Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution
【24h】

Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution

机译:通过总结克隆重构并检测软件演进过程中不一致的更改来进行克隆重构检查

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

摘要

It has been broadly assumed that removing code clones by refactorings would solve theproblems of code duplication. Despite recent empirical studies on the benefit ofrefactorings, contradicting evidence shows that it is often difficult or impossible toremove clones by using standard refactoring techniques. Developers cannot easilydetermine which clones can be refactored or how they should be maintained scatteredthroughout a large code base in evolving systems. We propose pattern-based clonerefactoring inspection (PRI), a technique for managing clone refactorings. PRI summarizesrefactorings of clones and detects clones that are not consistently refactored.To help developers refactor these anomalies, PRI also visualizes clone evolution andrefactorings and fixes refactoring anomalies to prevent the clone group from being leftin an inconsistent state. We evaluated PRI on 6 open-source projects and showed thatit identifies clone refactorings with 94.1% accuracy and detects inconsistentrefactorings with 98.4% accuracy, tracking clone change histories. In a study with 10student developers, the participants reported that flexible PRI's summarization anddetection features can be valuable for novice developers to learn about refactoringsto clones. These results show that PRI should improve developer productivity ininspecting clone refactorings distributed across multiple files in evolving systems.
机译:人们普遍认为,通过重构删除代码克隆将解决代码重复的问题。尽管最近对重构的好处进行了实证研究,但相反的证据表明,使用标准重构技术来克隆克隆常常是困难或不可能的。开发人员不容易 r n确定可以重构哪些克隆,或者在整个不断发展的系统中,如何在整个大型代码库中分散它们的维护方式。我们提出了基于模式的克隆 r n重构检查(PRI),一种用于管理克隆重构的技术。 PRI总结 r n重构克隆并检测未一致重构的克隆。 r n为帮助开发人员重构这些异常,PRI还可视化了克隆的进化和 r n重构,并修复了重构异常以防止克隆组遗留下来 r n处于不一致状态。我们对6个开源项目进行了PRI评估,结果显示 r nit以94.1%的准确度识别克隆重构,并以98.4%的准确度检测不一致的 r n重构,从而追踪克隆的变化历史。在与10名学生开发人员进行的研究中,参与者报告说,灵活的PRI汇总和 r n检测功能对于新手开发人员了解重构克隆非常有价值。这些结果表明,PRI应该在检查不断发展的系统中分布在多个文件中的克隆重构时提高开发人员的生产率。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号