探索与提升基于 LLM 的自动程序修复鲁棒性:基于变形测试
软件工程
2025-03-11 v2
摘要
近年来,基于大语言模型(LLM)的自动程序修复(APR)技术取得了 state-of-the-art 的 bug 修复性能,广泛应用于行业和学术界。然而,LLM 对输入提示敏感,语义等价程序的细微差异可能导致修复失败。因此,在实际部署前对 APR 技术进行鲁棒性测试至关重要。但相关研究稀缺。为此,我们提出 MT-LAPR,一个专为 APR 技术设计的变形测试框架,总结了开发人员跨三个扰动层级(token、statement 和 block)的九个广泛认可的变形关系(MRs)。随后,将这些 MRs 应用于有错误的代码以生成测试用例,这些用例在语义上等价但会影响 APR 的推理。实验在广泛使用的 bug 修复数据集即 Defect4J 和 QuixBugs 上进行,对四个最近发布的能进行 bug 修复的 LLM 进行测试,显示平均有 34.4% - 48.5% 的测试用例暴露了 APR 技术的不稳定性,显示 MT-LAPR的有效性,同时发现代码可读性与 APR 鲁棒性呈正相关。 Inspired by 上述发现,本文将由 MT-LAPR 生成的测试用例作为样本训练一个基于 CodeT5的代码编辑模型以提高代码可读性,然后嵌入 APR 的数据预处理步骤中。大量实验表明,该方法可使 APR 鲁棒性提升最高达 49.32%。
引用
@article{arxiv.2410.07516,
title = {Exploring and Lifting the Robustness of LLM-powered Automated Program Repair with Metamorphic Testing},
author = {Pengyu Xue and Linhao Wu and Zhen Yang and Zhongxing Yu and Zhi Jin and Ge Li and Yan Xiao and Shuo Liu and Xinyi Li and Hongyi Lin and Jingwen Wu},
journal= {arXiv preprint arXiv:2410.07516},
year = {2025}
}