首页> 外文OA文献 >ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming
【2h】

ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming

机译:ARJA:通过多目标遗传编程自动修复Java程序

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Recent empirical studies show that the performance of GenProg is notsatisfactory, particularly for Java. In this paper, we propose ARJA, a new GPbased repair approach for automated repair of Java programs. To be specific, wepresent a novel lower-granularity patch representation that properly decouplesthe search subspaces of likely-buggy locations, operation types and potentialfix ingredients, enabling GP to explore the search space more effectively.Based on this new representation, we formulate automated program repair as amulti-objective search problem and use NSGA-II to look for simpler repairs. Toreduce the computational effort and search space, we introduce a test filteringprocedure that can speed up the fitness evaluation of GP and three types ofrules that can be applied to avoid unnecessary manipulations of the code.Moreover, we also propose a type matching strategy that can create newpotential fix ingredients by exploiting the syntactic patterns of the existingstatements. We conduct a large-scale empirical evaluation of ARJA along withits variants on both seeded bugs and real-world bugs in comparison with severalstate-of-the-art repair approaches. Our results verify the effectiveness andefficiency of the search mechanisms employed in ARJA and also show itssuperiority over the other approaches. In particular, compared to jGenProg (animplementation of GenProg for Java), an ARJA version fully following theredundancy assumption can generate a test-suite adequate patch for more thantwice the number of bugs (from 27 to 59), and a correct patch for nearly fourtimes of the number (from 5 to 18), on 224 real-world bugs considered inDefects4J. Furthermore, ARJA is able to correctly fix several realmulti-location bugs that are hard to be repaired by most of the existing repairapproaches.
机译:最近的实证研究表明,Genprog的表现是迄今为止的,特别是对于Java而言是尚不浮现的。在本文中,我们提出了一个新的GPABASed修复方法,用于自动修复Java程序。具体而言,Wepresent一种新的低级粒度补丁表示,可恰当地解耦的搜索子空间,可能的越野车位置,操作类型和潜在函数成分,使GP更有效地探索搜索空间。基于此新的表示,我们制定了自动化程序维修作为Amulti-obformS搜索问题,并使用NSGA-II寻找更简单的维修。 TOROROREDUCE COMPORTIONATIONATION COMPLECT和搜索空间,我们介绍了一个测试过滤程序,可以加快GP的健身评估和可应用于避免代码的不必要操作的三种类型。我们还提出了一种可以创建的匹配策略通过利用现有职位的句法模式来解决方法。我们对Arja进行了大规模的实证评估,并与艺术术语的多特修复方法相比,Arja的变种与种子错误和真实世界的错误相比。我们的成果验证了Arja中使用的搜索机制的有效性和效率,并显示出对其他方法的影响。特别地,与JGENPROG(JGGA的拍摄者进行了相比,ARJA版本完全按照THEREDUNCY假设,可以生成测试套件足够的修补程序,以便更接近错误的错误(从27到59),以及近四倍的正确补丁数字(从5到18),在224个真实世界错误中被认为是Indfects4j。此外,Arja能够正确地修复几个难以由大多数现有Repedoaches修复的真正定位错误。

著录项

  • 作者

    Yuan Yuan; Wolfgang Banzhaf;

  • 作者单位
  • 年度 2020
  • 总页数
  • 原文格式 PDF
  • 正文语种
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号