由验证触发的仓库问答,用于编码代理修复
编码代理团队应在最小修复未通过验证时触发针对性的仓库问答,而不是在每次编辑前都进行同样广泛的探索。E3 表明,从最小可行执行路径开始,并在验证失败后扩展范围,可以减少冗余工作;ACQUIRE 则表明,围绕仓库机制、依赖关系和契约提出明确问题,可以挽救原本会失败的修复。DiffTestGen 提供了具体的升级信号:通过公共入口针对变更函数运行测试,可以发现无法解释的新旧行为差异,或变更行覆盖率停滞的问题。
一种实际的修复循环可以先估计范围,制作最小的合理补丁,再运行面向变更的测试。测试失败后,将失败转化为面向只读代理的仓库问题;这些带有文件和函数引用的答案随后用于指导下一版补丁。成本最低且有用的评估方式,是在同一组问题上进行消融实验,比较始终启用问答、不启用问答和由验证触发问答三种方案,并测量已解决问题数、令牌数和修复轮次。