中文

成本感知的自动程序修复

编程语言 2014-04-01 v2

摘要

我们提出了一个形式化框架,用于修复无限状态、命令式、顺序程序,这些程序具有(可能递归的)过程和多个断言;该框架可以通过在多个程序位置修改原始错误程序来生成修复后的程序,并且可以使用用户定义的表达式模板确保修复后程序的可读性;该框架还生成一组归纳断言,作为修复后程序正确性的证明。作为将程序员意图和直觉集成到自动程序修复中的一步,我们提出了一种“成本感知”的公式——给定与允许的语句修改相关的成本函数,目标是确保总程序修改成本不超过给定的修复预算。作为我们基于谓词抽象的解决方案框架的一部分,我们提出了一种用于布尔程序修复的完备算法。我们开发了一个基于 SMT 求解的原型工具,并成功将其用于修复基准 C 程序中的各种错误。

关键词

引用

@article{arxiv.1307.7281,
  title  = {Cost-Aware Automatic Program Repair},
  author = {Roopsha Samanta and Oswaldo Olivo and E. Allen Emerson},
  journal= {arXiv preprint arXiv:1307.7281},
  year   = {2014}
}