首页> 外文会议>European conference on object-oriented programming >Systematic Testing of Refactoring Engines on Real Software Projects
【24h】

Systematic Testing of Refactoring Engines on Real Software Projects

机译:在真实软件项目上对重构引擎进行系统测试

获取原文

摘要

Testing refactoring engines is a challenging problem that has gained recent attention in research. Several techniques were proposed to automate generation of programs used as test inputs and to help developers in inspecting test failures. However, these techniques can require substantial effort for writing test generators or finding unique bugs, and do not provide an estimate of how reliable refactoring engines are for refactoring tasks on real software projects. This paper evaluates an end-to-end approach for testing refactoring engines and estimating their reliability by (1) systematically applying refactorings at a large number of places in well-known, open-source projects and collecting failures during refactoring or while trying to compile the refactored projects, (2) clustering failures into a small, manageable number of failure groups, and (3) inspecting failures to identify non-duplicate bugs. By using this approach on the Eclipse refactoring engines for Java and C, we already found and reported 77 new bugs for Java and 43 for C. Despite the seemingly large numbers of bugs, we found these refactoring engines to be relatively reliable, with only 1.4% of refactoring tasks failing for Java and 7.5% for C.
机译:测试重构引擎是一个具有挑战性的问题,最近在研究中得到了关注。提出了几种技术来自动生成用作测试输入的程序,并帮助开发人员检查测试失败。但是,这些技术可能需要大量的精力来编写测试生成器或查找独特的错误,并且无法提供对重构引擎在实际软件项目上重构任务的可靠程度的估计。本文评估了一种端到端方法,用于测试重构引擎并评估其可靠性,方法是:(1)在知名的开放源代码项目中的许多地方系统地应用重构,并在重构过程中或尝试编译时收集故障重构的项目;(2)将故障聚类为少量,可管理的故障组,以及(3)检查故障以识别非重复的错误。通过在Java和C的Eclipse重构引擎上使用这种方法,我们已经发现并报告了Java的77个新错误和C语言的43个新错误。尽管看似数量众多的错误,我们发现这些重构引擎相对可靠,只有1.4个对于Java,重构任务失败的百分比;对于C,重构任务失败的百分比为7.5%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号