【24h】

A Closer Look at Real-World Patches

机译:仔细看看真实世界的补丁

获取原文

摘要

Bug fixing is a time-consuming and tedious task. To reduce the manual efforts in bug fixing, researchers have presented automated approaches to software repair. Unfortunately, recent studies have shown that the state-of-the-art techniques in automated repair tend to generate patches only for a small number of bugs even with quality issues (e.g., incorrect behavior and nonsensical changes). To improve automated program repair (APR) techniques, the community should deepen its knowledge on repair actions from real-world patches since most of the techniques rely on patches written by human developers. Previous investigations on real-world patches are limited to statement level that is not sufficiently fine-grained to build this knowledge. In this work, we contribute to building this knowledge via a systematic and fine-grained study of 16,450 bug fix commits from seven Java open-source projects. We find that there are opportunities for APR techniques to improve their effectiveness by looking at code elements that have not yet been investigated. We also discuss nine insights into tuning automated repair tools. For example, a small number of statement and expression types are recurrently impacted by real-world patches, and expression-level granularity could reduce search space of finding fix ingredients, where previous studies never explored.
机译:错误修复是一种耗时和繁琐的任务。为了减少错误修复的手动努力,研究人员提出了软件维修的自动化方法。不幸的是,最近的研究表明,即使具有质量问题(例如,不正确的行为和荒谬的变化,即使具有少量错误,最先进的技术也倾向于为少量错误产生补丁。为了改善自动化计划维修(APR)技术,社区应加深知识,因为大多数技术依赖于人类开发人员撰写的补丁,因此大多数技术都是从真实世界修补行动的知识。以前关于现实世界补丁的调查仅限于陈述水平,这些水平并没有足够的细粒度来构建这种知识。在这项工作中,我们有助于通过系统和精细的16,450个错误修复提交来自七个Java开源项目的系统和细粒度的研究。我们发现APR技术有机会通过查看尚未调查的代码元素来提高其效力。我们还讨论了调整自动修复工具的九个见解。例如,少数语句和表达类型由现实世界修补程序常规影响,表达级粒度可以减少查找修复成分的搜索空间,以前从未探索过的研究。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号