首页> 外文会议>2018 IEEE/ACM 40th International Conference on Software Engineering >Semantic Program Repair Using a Reference Implementation
【24h】

Semantic Program Repair Using a Reference Implementation

机译:使用参考实现的语义程序修复

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

摘要

Automated program repair has been studied via the use of techniques involving search, semantic analysis and artificial intelligence. Most of these techniques rely on tests as the correctness criteria, which causes the test overfitting problem. Although various approaches such as learning from code corpus have been proposed to address this problem, they are unable to guarantee that the generated patches generalize beyond the given tests. This work studies automated repair of errors using a reference implementation. The reference implementation is symbolically analyzed to automatically infer a specification of the intended behavior. This specification is then used to synthesize a patch that enforces conditional equivalence of the patched and the reference programs. The use of the reference implementation as an implicit correctness criterion alleviates overfitting in test-based repair. Besides, since we generate patches by semantic analysis, the reference program may have a substantially different implementation from the patched program, which distinguishes our approach from existing techniques for regression repair like Relifix. Our experiments in repairing the embedded Linux Busybox with GNU Coreutils as reference (and vice-versa) revealed that the proposed approach scales to real-world programs and enables the generation of more correct patches.
机译:通过使用涉及搜索,语义分析和人工智能的技术,研究了程序自动修复。这些技术大多数都依赖于测试作为正确性标准,这会导致测试过拟合问题。尽管已提出了各种方法(例如,从代码语料库中学习)来解决此问题,但它们无法保证所生成的补丁程序可以推广到给定测试之外。这项工作使用参考实现来研究错误的自动修复。将对参考实现进行符号分析,以自动推断预期行为的规范。然后,使用此规范来合成补丁,以强制实现补丁程序和参考程序的条件等效。将参考实现用作隐式正确性准则可减轻基于测试的修复中的过拟合。此外,由于我们通过语义分析生成补丁,因此参考程序可能与补丁程序的实现方式大不相同,这将我们的方法与现有的诸如Relifix的回归修复技术区分开来。我们使用GNU Coreutils作为参考修复嵌入式Linux Busybox的实验(反之亦然)表明,该方法可扩展到实际程序,并能够生成更多正确的补丁程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号