论文
评估和减轻 LLM 生成的单元测试中错误代码的误导影响
Evaluating and Mitigating the Misguidance Effect of Buggy Code in LLM-Generated Unit Tests
摘要
虽然 大语言模型 (LLM) 在自动化单元测试生成方面显示出巨大的前景,但最近的研究表明,当模型提示有错误的代码时,生成的测试的质量可能会受到负面影响。本文提出了一种新的指标来定量测量“误导效应”,即错误代码引导 LLM 生成测试来验证其错误行为而不是暴露它的现象。我们的分析表明,用错误代码提示 LLM 会产生严重的双重影响:它显着增加了断言不正确行为的“误导测试”,同时抑制了有效的错误查找测试的生成。我们从模型内部的角度进一步证实了这种影响,表明有错误的代码使 LLM 偏向于断言相同错误行为的测试。为了解决这个问题,我们引入并验证了基于规范的单元测试生成范例,该范例用 LLM 生成的规范文档字符串替换提示中的测试代码。我们的结果表明,这种范例有效地减少了误导性测试,同时大幅增加了有效测试,改进了多轮、反馈驱动的测试生成管道,并且仍然适用于有错误和无错误的代码。总的来说,这些结果表明,基于规范的提示是一种很有前途的策略,可以减少 LLM 生成的单元测试中错误代码的误导。