利用非自回归模型加速程序修复
软件工程
2025-10-03 v1
摘要
受机器学习技术在各个应用领域成功应用的启发,近年来使用机器学习技术进行自动程序修复的研究迅速涌现。以往基于机器学习的自动程序修复技术本质上是以自回归方式修改缺陷的,即根据过去的值预测未来的值。由于逐 token 生成的方式,基于 AR 的 APR 技术存在巨大的时间延迟。特别是,具有大量参数的 APR 模型延迟更为严重。为了解决这一问题,我们旨在将非自回归方法应用于 APR 任务,该方法能够以并行方式输出目标代码,从而避免巨大的修复延迟。然而,将 NAR 方式直接用于 APR 任务会面临补丁质量受损的问题。为了有效地将 NAR 方式适配于 APR 任务,我们在本文中提出了 NARRepair,这是首个为 APR 任务定制的 NAR 代码生成模型。NARRepair 模型具有三大主要创新:1) 修复动作预测器,用于缓解过度纠正问题;2) token 间依赖提取器,用于缓解缺乏 token 间依赖信息的问题;3) 两阶段解码器,用于缓解缺乏上下文信息的问题。我们在 APR 领域广泛使用的三个数据集上对 NARRepair 进行了评估,结果表明:1) 与其他 APR 技术相比,NARRepair 模型在有限的修复时间内具有最佳性能;2) 与基于 AR 的 APR 技术相比,NARRepair 在 GPU 环境下的修复速度提升了 1.4-6.4 倍。总体而言,结果表明 NARRepair 在修复速度和准确性方面实现了 SOTA 的综合性能。
引用
@article{arxiv.2510.01825,
title = {Towards Speeding up Program Repair with Non-Autoregressive Model},
author = {Zhenyu Yang and Yue Pan and Zhen Yang and Zhongxing Yu},
journal= {arXiv preprint arXiv:2510.01825},
year = {2025}
}
备注
30 pages, 8 figures, 7 tables. arXiv admin note: substantial text overlap with arXiv:2406.16526