FastFixer:一种高效且有效的编程作业修复方法
计算机与社会
2024-10-30 v1 软件工程
摘要
为学生的编程作业提供个性化和及时的反馈对编程教育十分有益。自动程序修复(APR)技术已被用于修复编程作业中的错误,其中基于大语言模型(LLM)的方法已展现出有前景的结果。鉴于在高级编程作业中识别和修复错误的复杂性日益增加,当前用于APR的微调策略在引导LLM识别错误并在生成式修复过程中进行精确编辑方面存在不足。此外,LLM采用的自回归解码方法可能会阻碍修复效率,从而影响提供及时反馈的能力。为解决这些挑战,我们提出了FastFixer,一种高效且有效的编程作业修复方法。为了辅助LLM准确识别和修复错误,我们首先提出了一种新颖的面向修复的微调策略,旨在增强LLM对学习如何生成必要补丁及其相关上下文的注意力。此外,为了加速补丁生成,我们提出了一种专门为程序修复任务定制的推理加速方法。评估结果表明,与最先进的基线相比,FastFixer在作业修复方面获得了20.46%的整体提升。在修复效率方面,与自回归解码算法相比,FastFixer实现了16.67倍的显著推理加速。
引用
@article{arxiv.2410.21285,
title = {FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments},
author = {Fang Liu and Zhenwei Liu and Qianhui Zhao and Jing Jiang and Li Zhang and Ge Li and Zian Sun and Zhongqi Li and Yuchi Ma},
journal= {arXiv preprint arXiv:2410.21285},
year = {2024}
}
备注
Accepted by the 39th IEEE/ACM International Conference on Automated Software Engineering (ASE 2024)