论文

摆脱自我修复陷阱:通过双上下文感知改进测试预言机生成

Escaping the Self-Repair Trap: Improving Test Oracle Generation via Dual-Context Awareness

上下文与知识上下文工程

摘要

大语言模型 (LLM) 显示了回归预言完成的强大潜力,其中给出了测试前缀并将当前程序版本视为预期行为。最近的方法越来越依赖于迭代自我修复和执行反馈,但优化执行成功并不一定会产生强大的错误揭示预言。这个目标在基于修复的方法中广泛采用,仅作为代理,可能与预言机生成的真正目标不一致。这种错位使修复过程产生偏差,导致反馈驱动的退化,我们称之为“自我修复陷阱”,其中迭代修复逐渐将模型推向更容易满足但在检测故障方面效率较低的断言。为了解决这个问题,我们提出了 DCAware,这是一种计算效率高的非迭代框架,它优先考虑高信噪比上下文依据对齐而不是多轮修复。 DCAware 将结构化静态上下文与选择性检索的动态集成在一起,无需迭代反馈循环即可实现精确且稳健的测试判定器生成。基于执行和变异测试的大量实验表明,DCAware 在保持高执行成功率的同时,持续提高了错误揭示的有效性,以显着降低的计算成本超越了先前的方法。我们的结果表明,在所研究的回归预言设置中,提高上下文质量比增加迭代修复复杂性更有效。