首页> 外文会议>Proceedings of the 28th IEEE International Conference on Software Maintenance. >Making automatic repair for large-scale programs more efficient using weak recompilation
【24h】

Making automatic repair for large-scale programs more efficient using weak recompilation

机译:使用弱重新编译使大型程序的自动修复更有效率

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

摘要

For large-scale programs, automatically repairing a bug by modifying source code is often a time-consuming process due to plenty of time spent on recompiling and reinstalling the patched program. To suppress the above time cost and make the repair process more efficient, a recompilation technique called weak recompilation is described in this paper. In weak recompilation, a program is assumed to be constructed from a set of components, and for each candidate patch only the changed code fragment in term of one component is recompiled to a shared library; the behaviors of patched program are observed by executing the original program with an instrumentation tool which can wrap specified function. The advantage of weak recompilation is that redundant recompilation cost can be suppressed, and reinstallation cost will be cut down completely. We also built WAutoRepair, a system which enables scalability to fix bugs in large-scale C programs with high efficiency. The experiments confirm that our repair system significantly outperforms Genprog, a famous approach for automatic program repair. For the wireshark program containing over 2 millions lines of code, WAutoRepair spent only 0.222 seconds in recompiling one candidate patch and 8.035 seconds in totally repairing the bug, compared to Genprog separately taking about 20.484 and 75.493 seconds, on average.
机译:对于大型程序,由于花费大量时间重新编译和重新安装修补的程序,因此通过修改源代码自动修复错误通常是一个耗时的过程。为了抑制上述时间成本并提高修复过程的效率,本文介绍了一种称为弱重新编译的重新编译技术。在弱编译中,假定程序是由一组组件构成的,并且对于每个候选补丁,仅将一个组件方面更改的代码片段重新编译为共享库;通过使用可以包装指定功能的检测工具执行原始程序,可以观察修补程序的行为。重新编译较弱的优点是可以抑制多余的重新编译成本,并且可以完全减少重新安装成本。我们还构建了WAutoRepair,该系统具有可伸缩性,可以高效地修复大规模C程序中的错误。实验证实,我们的修复系统明显优于Genprog,后者是自动程序修复的著名方法。对于包含超过200万行代码的wireshark程序,WAutoRepair仅花费0.222秒重新编译一个候选补丁,而花了8.035秒完全修复了该错误,而Genprog分别花费了大约20.484和75.493秒。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号