- 简介当前的自动程序修复(APR)技术远远不能被视为实际调试的实用和有用工具。它们依赖于不切实际的假设,包括需要全面的测试用例套件作为正确性标准,并需要频繁地重新执行程序进行补丁验证;它们不够快速;而且通过修复程序的多个位置来修复常见的复杂错误的能力非常有限。我们希望大大提高APR的实用性、有效性和实用性,以帮助人们调试。为了实现这个目标,我们设想了PracAPR,这是一个交互式修复系统,它在集成开发环境(IDE)中工作,为调试提供有效的修复建议。PracAPR不需要测试套件或程序重新执行。它假定开发人员使用IDE调试器,并且程序已经在观察到问题的位置暂停。它与开发人员交互以获取问题规范。基于规范,它执行基于流分析的无需测试的故障定位、结合基于大型语言模型的局部修复和定制的策略驱动全局修复的补丁生成,以及基于模拟跟踪比较的无需程序重新执行的补丁验证,从而提出修复建议。通过拥有PracAPR,我们希望迈出向使APR成为有用的、日常调试的一部分的重要一步。
-
- 图表
- 解决问题提高自动程序修复的实用性和有效性
- 关键思路开发一种基于IDE的交互式修复系统PracAPR,不需要测试套件或程序重新执行,使用流分析进行故障定位,结合大型语言模型和策略驱动的全局修复进行补丁生成,使用模拟跟踪比较进行无需程序重新执行的补丁验证
- 其它亮点PracAPR是一种有前途的交互式自动程序修复系统,实验结果表明其有效性和实用性。
- 当前的自动程序修复技术仍然存在一些问题,需要进一步改进。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流