《计算机应用》唯一官方网站 ›› 2026, Vol. 46 ›› Issue (4): 1227-1237.DOI: 10.11772/j.issn.1001-9081.2025040486
• 计算机软件技术 • 上一篇
收稿日期:2025-05-06
修回日期:2025-07-06
接受日期:2025-07-08
发布日期:2025-07-23
出版日期:2026-04-10
通讯作者:
胡文华
作者简介:陈浩轩(2002—),男,湖北黄冈人,硕士研究生,主要研究方向:智能软件工程基金资助:
Haoxuan CHEN1, Peichang YE1, Lei LIU2, Chengming LIU1, Wenhua HU3(
)
Received:2025-05-06
Revised:2025-07-06
Accepted:2025-07-08
Online:2025-07-23
Published:2026-04-10
Contact:
Wenhua HU
About author:CHEN Haoxuan, born in 2002, M. S. candidate. His research interests include intelligent software engineering.Supported by:摘要:
代码编辑作为软件开发的核心环节,对软件系统的持续优化至关重要。随着代码编辑行为规律性的发现,自动代码编辑推荐(ACES)技术成为提升编辑效率和减少人工错误的关键方向。然而,现有研究存在成果分散、缺乏系统性整合和统一框架的问题。因此,围绕ACES技术展开系统性综述,全面回顾2004—2025年的相关研究成果。首先,梳理该领域研究的发表趋势,从传统智能方法、深度学习模型和大语言模型这3个维度总结推荐模型的技术演进和相关辅助技术的发展,并在此基础上,根据推荐任务的不同类型,将它们划分为基于上下文信息、基于任务描述与指令、基于历史编辑和基于输入输出示例的4类推荐任务,并详细阐述各类型任务的技术思路与研究成果;其次,通过剖析ACES的评价体系,系统性地介绍现有实验数据集的编程语言、编辑粒度、规模分布及代码的文本相似度和功能正确性等评价指标;最后,深入剖析当前研究现状,指出现有研究中的一系列突出挑战,并展望未来研究的潜在机遇,为该领域的进一步发展提供理论参考与方向指引。
中图分类号:
陈浩轩, 叶培昌, 刘磊, 刘承明, 胡文华. 自动代码编辑推荐综述[J]. 计算机应用, 2026, 46(4): 1227-1237.
Haoxuan CHEN, Peichang YE, Lei LIU, Chengming LIU, Wenhua HU. Survey of automated code edit suggestion[J]. Journal of Computer Applications, 2026, 46(4): 1227-1237.
| ACES任务 | 任务类型描述 | 主要输入 |
|---|---|---|
| 基于上下文信息的推荐 | 结合代码所在上下文理解需求,提供编辑 | 被编辑代码、代码上下文 |
| 基于任务描述与指令的推荐 | 依据用户明确指令或任务定义提供编辑 | 用户指令、被编辑代码 |
| 基于历史编辑的推荐 | 分析历史编辑模式,复用过往经验提供推荐 | 被编辑代码、历史编辑 |
| 基于输入输出示例的推荐 | 通过输入输出示例映射关系学习提供推荐 | 被编辑代码、输入输出示例 |
表1 ACES工具分类
Tab. 1 Classification of ACES tools
| ACES任务 | 任务类型描述 | 主要输入 |
|---|---|---|
| 基于上下文信息的推荐 | 结合代码所在上下文理解需求,提供编辑 | 被编辑代码、代码上下文 |
| 基于任务描述与指令的推荐 | 依据用户明确指令或任务定义提供编辑 | 用户指令、被编辑代码 |
| 基于历史编辑的推荐 | 分析历史编辑模式,复用过往经验提供推荐 | 被编辑代码、历史编辑 |
| 基于输入输出示例的推荐 | 通过输入输出示例映射关系学习提供推荐 | 被编辑代码、输入输出示例 |
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| CodeEditor[ | 定制预训练模型 | Java | Method | 被编辑代码、上下文 | 编辑后代码 | |
| CCT5[ | 定制预训练模型 | 多语言 | Method | 被编辑代码、上下文 | 编辑后代码 | |
| Hephaestus[ | 传统序列语言模型 | Java | Method | 被编辑代码 | 编辑操作序列 | |
| Graph2Edit[ | LSTM网络 | 语法树分析 | C# | Method | 被编辑代码 | 编辑操作序列 |
| CODIT[ | LSTM网络 | 语法树分析 | Java | Method | 被编辑代码、上下文 | 编辑后代码 |
表2 基于上下文信息的ACES研究
Tab. 2 ACES research based on context information
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| CodeEditor[ | 定制预训练模型 | Java | Method | 被编辑代码、上下文 | 编辑后代码 | |
| CCT5[ | 定制预训练模型 | 多语言 | Method | 被编辑代码、上下文 | 编辑后代码 | |
| Hephaestus[ | 传统序列语言模型 | Java | Method | 被编辑代码 | 编辑操作序列 | |
| Graph2Edit[ | LSTM网络 | 语法树分析 | C# | Method | 被编辑代码 | 编辑操作序列 |
| CODIT[ | LSTM网络 | 语法树分析 | Java | Method | 被编辑代码、上下文 | 编辑后代码 |
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| SarGaM[ | 通用大语言模型 | 检索增强 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 |
| Chen24[ | 传统序列、通用大语言模型 | 检索增强 | Java,Python | Method | 被编辑代码、上下文、描述 | 编辑后代码 |
| Kovrigin24[ | 通用大语言模型 | 检索增强 | Python | Repository | 被编辑代码、上下文、描述 | 编辑后代码 |
| CodePlan[ | 通用、微调大语言模型 | C#,Python | Repository | 被编辑代码、上下文、描述 | 编辑后代码 | |
| AutoDev[ | 通用大语言模型 | Python | File | 被编辑代码、上下文、描述 | 编辑后代码 | |
| InstructCoder[ | 微调大语言模型 | Python | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| CoditT5[ | 定制预训练、微调大语言模型 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| MODIT[ | 定制预训练、微调大语言模型 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| iXj[ | 基于规则 | Java | Method | 被编辑代码、用户指令 | 编辑后代码 |
表3 基于任务描述与指令的ACES研究
Tab. 3 ACES research based on task descriptions and instructions
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| SarGaM[ | 通用大语言模型 | 检索增强 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 |
| Chen24[ | 传统序列、通用大语言模型 | 检索增强 | Java,Python | Method | 被编辑代码、上下文、描述 | 编辑后代码 |
| Kovrigin24[ | 通用大语言模型 | 检索增强 | Python | Repository | 被编辑代码、上下文、描述 | 编辑后代码 |
| CodePlan[ | 通用、微调大语言模型 | C#,Python | Repository | 被编辑代码、上下文、描述 | 编辑后代码 | |
| AutoDev[ | 通用大语言模型 | Python | File | 被编辑代码、上下文、描述 | 编辑后代码 | |
| InstructCoder[ | 微调大语言模型 | Python | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| CoditT5[ | 定制预训练、微调大语言模型 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| MODIT[ | 定制预训练、微调大语言模型 | Java | Method | 被编辑代码、上下文、描述 | 编辑后代码 | |
| iXj[ | 基于规则 | Java | Method | 被编辑代码、用户指令 | 编辑后代码 |
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| CoEdPilot[ | 微调大语言模型 | 数据处理 | 多语言 | Repository | 代码库、历史编辑、描述 | 编辑后代码 |
| Coeditor[ | 微调大语言模型 | 数据处理 | Python | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 |
| Grace[ | 微调大语言模型 | 多语言 | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 | |
| Overwatch[ | 基于关联规则 | C# | File | 代码库、历史编辑 | 编辑操作序列 | |
| C3PO[ | LSTM、指针网络 | 语法树分析 | C# | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 |
| CC2Vec[ | 门控神经单元 | 数据处理 | 多语言 | File | 代码库、历史编辑 | 编辑后代码 |
| Blue-Pencil[ | 基于示例、基于数据驱动 | 数据处理 | C#、SQL | Line | 代码库、历史编辑 | 编辑建议 |
| Repertoire[ | 基于规则、基于数据驱动 | C、C++ | Line | 代码库、历史编辑 | 编辑后代码 | |
| Nguyen13[ | 基于数据驱动 | Java | Method | 被编辑代码、历史编辑 | 编辑后代码 | |
| ROSE[ | 基于关联规则挖掘 | 多语言 | File | 被编辑文件、历史编辑 | 编辑建议 | |
| Ying03[ | 基于关联规则挖掘 | C++、Java | File | 被编辑文件、历史编辑 | 编辑建议 |
表4 基于历史编辑的ACES研究
Tab. 4 ACES research based on historical edits
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 推荐粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| CoEdPilot[ | 微调大语言模型 | 数据处理 | 多语言 | Repository | 代码库、历史编辑、描述 | 编辑后代码 |
| Coeditor[ | 微调大语言模型 | 数据处理 | Python | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 |
| Grace[ | 微调大语言模型 | 多语言 | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 | |
| Overwatch[ | 基于关联规则 | C# | File | 代码库、历史编辑 | 编辑操作序列 | |
| C3PO[ | LSTM、指针网络 | 语法树分析 | C# | File | 历史编辑、被编辑代码、上下文 | 编辑后代码 |
| CC2Vec[ | 门控神经单元 | 数据处理 | 多语言 | File | 代码库、历史编辑 | 编辑后代码 |
| Blue-Pencil[ | 基于示例、基于数据驱动 | 数据处理 | C#、SQL | Line | 代码库、历史编辑 | 编辑建议 |
| Repertoire[ | 基于规则、基于数据驱动 | C、C++ | Line | 代码库、历史编辑 | 编辑后代码 | |
| Nguyen13[ | 基于数据驱动 | Java | Method | 被编辑代码、历史编辑 | 编辑后代码 | |
| ROSE[ | 基于关联规则挖掘 | 多语言 | File | 被编辑文件、历史编辑 | 编辑建议 | |
| Ying03[ | 基于关联规则挖掘 | C++、Java | File | 被编辑文件、历史编辑 | 编辑建议 |
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| Gao20[ | 基于示例 | 语法树分析、反馈学习 | C# | Method | 编辑示例对、被编辑代码 | 编辑操作序列 |
| Li20[ | 图神经网络、基于示例 | 语法树分析 | 多语言 | Method | 编辑示例对、被编辑代码 | 编辑后代码 |
| Yin19[ | LSTM网络 | 语法树分析 | C# | Line | 编辑示例对、被编辑代码 | 编辑后代码 |
| Refazer[ | 基于规则、基于示例 | 语法树分析 | Python,C# | Method | 编辑示例对、被编辑代码 | 编辑操作序列 |
| LASE[ | 基于示例 | — | Java | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
| spdiff[ | 基于示例 | — | C | Method | 编辑示例对、被编辑代码 | 编辑后代码 |
| Sydit[ | 基于示例 | — | Java | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
| Robbes08[ | 基于示例 | — | Smalltalk | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
表5 基于输入输出示例的ACES研究
Tab. 5 ACES research based on input-output examples
| 工具名称 | 推荐模型 | 辅助技术 | 语言 | 粒度 | 输入内容 | 输出内容 |
|---|---|---|---|---|---|---|
| Gao20[ | 基于示例 | 语法树分析、反馈学习 | C# | Method | 编辑示例对、被编辑代码 | 编辑操作序列 |
| Li20[ | 图神经网络、基于示例 | 语法树分析 | 多语言 | Method | 编辑示例对、被编辑代码 | 编辑后代码 |
| Yin19[ | LSTM网络 | 语法树分析 | C# | Line | 编辑示例对、被编辑代码 | 编辑后代码 |
| Refazer[ | 基于规则、基于示例 | 语法树分析 | Python,C# | Method | 编辑示例对、被编辑代码 | 编辑操作序列 |
| LASE[ | 基于示例 | — | Java | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
| spdiff[ | 基于示例 | — | C | Method | 编辑示例对、被编辑代码 | 编辑后代码 |
| Sydit[ | 基于示例 | — | Java | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
| Robbes08[ | 基于示例 | — | Smalltalk | Method | 编辑示例对、被编辑代码 | 编辑脚本 |
| 类别 | 性能指标 | 说明 |
|---|---|---|
| 基于文本相似度 | EM | 比较生成文本与目标文本是否完全匹配 |
| ES | 计算生成文本转换为目标文本所需要的最少编辑次数,并归一化 | |
| ED | 计算生成文本转换为目标文本所需的最少编辑操作数 | |
| 基于语言相似度 | BLEU | 基于n-gram的重合度,计算生成文本与参考文本的相似性 |
| GLEU | 基于n-gram重合的另一种评估方法,适合短文本评估 | |
| 基于预测分类性能 | Recall | 实际为正的样本中被正确预测为正的比例,反映模型的召回能力 |
| Accuracy | 正确预测的比例,衡量模型的整体准确性 | |
| Precision | 正类预测中实际为正的比例,反映模型的精确性 | |
| 基于功能正确性 | Pass@k | 衡量在前k个预测中是否有正确的修改 |
| 基于运行效率 | Execute Time | 任务完成所需的时间,衡量系统的效率或响应速度 |
表6 ACES研究的评价指标分类
Tab. 6 Classification of evaluation metrics for ACES research
| 类别 | 性能指标 | 说明 |
|---|---|---|
| 基于文本相似度 | EM | 比较生成文本与目标文本是否完全匹配 |
| ES | 计算生成文本转换为目标文本所需要的最少编辑次数,并归一化 | |
| ED | 计算生成文本转换为目标文本所需的最少编辑操作数 | |
| 基于语言相似度 | BLEU | 基于n-gram的重合度,计算生成文本与参考文本的相似性 |
| GLEU | 基于n-gram重合的另一种评估方法,适合短文本评估 | |
| 基于预测分类性能 | Recall | 实际为正的样本中被正确预测为正的比例,反映模型的召回能力 |
| Accuracy | 正确预测的比例,衡量模型的整体准确性 | |
| Precision | 正类预测中实际为正的比例,反映模型的精确性 | |
| 基于功能正确性 | Pass@k | 衡量在前k个预测中是否有正确的修改 |
| 基于运行效率 | Execute Time | 任务完成所需的时间,衡量系统的效率或响应速度 |
| [1] | DZVONYAR D, KRUSCHE S, ALKADHI R, et al. Context-aware user feedback in continuous software evolution[C]// Proceedings of the 2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery. New York: ACM, 2016: 12-18. |
| [2] | 陈桌,张丽萍,王春晖. 基于软件代码演化信息的克隆谱系提取方法[J]. 计算机应用, 2016, 36(12): 3461-3467. |
| CHEN Z, ZHANG L P, WANG C H. Clone genealogy extraction method based on software code evolution information[J]. Journal of Computer Applications, 2016, 36(12): 3461-3467. | |
| [3] | 刘忠鑫,唐郅杰,夏鑫,等. 代码变更表示学习及其应用研究进展[J]. 软件学报, 2023, 34(12): 5501-5526. |
| LIU Z X, TANG Z J, XIA X, et al. Research progress of code change representation learning and its application[J]. Journal of Software, 2023, 34(12): 5501-5526. | |
| [4] | BOSU A, CARVER J C. Impact of peer code review on peer impression formation: a survey[C]// Proceedings of the 2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. Piscataway: IEEE, 2013: 133-142. |
| [5] | BOEHM B W. Software engineering[J]. IEEE Transactions on Computers, 1976, C-25(12): 1226-1241. |
| [6] | LEHMAN M M, BELADY L A. Program evolution: processes of software change[M]. London: Academic Press, 1985. |
| [7] | NGUYEN H A, NGUYEN A T, NGUYEN T T, et al. A study of repetitiveness of code changes in software evolution[C]// Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. Piscataway: IEEE, 2013: 180-190. |
| [8] | GitHub. Real-world code changes[EB/OL]. [2025-06-29].. |
| [9] | LI J, LI G, LI Z, et al. CodeEditor: learning to edit source code with pre-trained models[J]. ACM Transactions on Software Engineering and Methodology, 2023, 32(6): No.143. |
| [10] | Microsoft. Visual Studio homepage[EB/OL]. [2025-07-05].. |
| [11] | Foundation Eclipse. Eclipse homepage [EB/OL]. [2025-07-05].. |
| [12] | KEELE S. Guidelines for performing systematic literature reviews in software engineering[R/OL]. [2025-07-05].. |
| [13] | PETERSEN K, VAKKALANKA S, KUZNIARZ L. Guidelines for conducting systematic mapping studies in software engineering: an update[J]. Information and Software Technology, 2015, 64: 1-18. |
| [14] | WATSON C, COOPER N, PALACIO D N, et al. A systematic literature review on the use of deep learning in software engineering research[J]. ACM Transactions on Software Engineering and Methodology, 2022, 31(2): No.32. |
| [15] | YING A T T, MURPHY G C, NG R, et al. Predicting source code changes by mining change history[J]. IEEE Transactions on Software Engineering, 2004, 30(9): 574-586. |
| [16] | ZIMMERMANN T, ZELLER A, WEISSGERBER P, et al. Mining version histories to guide software changes[J]. IEEE Transactions on Software Engineering, 2005, 31(6): 429-445. |
| [17] | ZHANG Y, BAJPAI Y, GUPTA P, et al. Overwatch: learning patterns in code edit sequences[J]. Proceedings of the ACM on Programming Languages, 2022, 6(OOPSLA2): 395-423. |
| [18] | BOSHERNITSAN M, GRAHAM S L, HEARST M A. Aligning development tools with the way programmers think about code changes[C]// Proceedings of the 2007 SIGCHI Conference on Human Factors in Computing Systems. New York: ACM, 2007: 567-576. |
| [19] | RAY B, NAGAPPAN M, BIRD C, et al. The uniqueness of changes: characteristics and applications[C]// Proceedings of the IEEE/ACM 12th Working Conference on Mining Software Repositories. Piscataway: IEEE, 2015: 34-44. |
| [20] | ROLIM R, SOARES G, D’ANTONI L, et al. Learning syntactic program transformations from examples[C]// Proceedings of the IEEE/ACM 39th International Conference on Software Engineering. Piscataway: IEEE, 2017: 404-415. |
| [21] | ROBBES R, LANZA M. Example-based program transformation[C]// Proceedings of the 2008 International Conference on Model Driven Engineering Languages and Systems, LNCS 5301. Berlin: Springer, 2008: 174-188. |
| [22] | MENG N, KIM M, McKINLEY K S. Sydit: creating and applying a program transformation from an example[C]// Proceedings of the 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering and 13th European Software Engineering Conference. New York: ACM, 2011: 440-443. |
| [23] | ANDERSEN J, NGUYEN A C, LO D, et al. Semantic patch inference[C]// Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. New York: ACM, 2012: 382-385. |
| [24] | MENG N, KIM M, McKINLEY K S. LASE: locating and applying systematic edits by learning from examples[C]// Proceedings of the 35th International Conference on Software Engineering. Piscataway: IEEE, 2013: 502-511. |
| [25] | MILTNER A, GULWANI S, LE V, et al. On the fly synthesis of edit suggestions[J]. Proceedings of the ACM on Programming Languages, 2019, 3(OOPSLA): No.143. |
| [26] | LI P, ZHANG X, YAO Z, et al. Code editing from few exemplars by adaptive multi-extent composition[EB/OL]. [2025-07-05].. |
| [27] | GAO X, BARKE S, RADHAKRISHNA A, et al. Feedback-driven semi-supervised synthesis of program transformations[J]. Proceedings of the ACM on Programming Languages, 2020, 4(OOPSLA): No.219. |
| [28] | YIN P, NEUBIG G, ALLAMANIS M, et al. Learning to represent edits[EB/OL]. [2025-07-05].. |
| [29] | BRODY S, ALON U, YAHAV E. A structural model for contextual code changes[J]. Proceedings of the ACM on Programming Languages, 2020, 4(OOPSLA): No.215. |
| [30] | CHAKRABORTY S, DING Y, ALLAMANIS M, et al. CODIT: code editing with tree-based neural models[J]. IEEE Transactions on Software Engineering, 2022, 48(4): 1385-1399. |
| [31] | YAO Z, XU F F, YIN P, et al. Learning structural edits via incremental tree transformations[EB/OL]. [2025-07-05].. |
| [32] | HOANG T, KANG H J, LO D, et al. CC2Vec: distributed representations of code changes[C]// Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. New York: ACM, 2020: 518-529. |
| [33] | CONNOR A, HARRIS A, COOPER N, et al. Can we automatically fix bugs by learning edit operations?[C]// Proceedings of the 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering. Piscataway: IEEE, 2022: 782-792. |
| [34] | CHEN J, HU X, LI Z, et al. Code search is all you need? improving code suggestions with code search[C]// Proceedings of the IEEE/ACM 46th International Conference on Software Engineering. Piscataway: IEEE, 2024: 880-892. |
| [35] | CHAKRABORTY S, RAY B. On multi-modal learning of editing source code[C]// Proceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering. Piscataway: IEEE, 2021: 443-455. |
| [36] | ZHANG J, PANTHAPLACKEL S, NIE P, et al. CoditT5: pretraining for source code and natural language editing[C]// Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering. New York: ACM, 2022: No.22. |
| [37] | LIN B, WANG S, LIU Z, et al. CCT5: a code-change-oriented pre-trained model[C]// Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. New York: ACM, 2023: 1509-1521. |
| [38] | TUFANO M, AGARWAL A, JANG J, et al. AutoDev: automated AI-driven development[EB/OL]. [2025-07-05].. |
| [39] | BAIRI R, SONWANE A, KANADE A, et al. CodePlan: repository-level coding using LLMs and planning[J]. Proceedings of the ACM on Software Engineering, 2024, 1(FSE): 675-698. |
| [40] | KOVRIGIN A. Reasoning for repository-level code editing[D/OL]. [2025-06-29].. |
| [41] | LIU C, CETIN P, PATODIA Y, et al. Automated code editing with search-generate-modify[J]. IEEE Transactions on Software Engineering, 2024, 50(7):1675-1686. |
| [42] | LI K, HU Q, ZHAO J X, et al. InstructCoder: instruction tuning large language models for code editing[C]// Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 4: Student Research Workshop). Stroudsburg: ACL, 2024: 473-493. |
| [43] | GUPTA P, KHARE A, BAJPAI Y, et al. Grace: language models meet code edits[C]// Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. New York: ACM, 2023: 1483-1495. |
| [44] | WEI J, DURRETT G, DILLIG I. Coeditor: leveraging contextual changes for multi-round code auto-editing[EB/OL]. [2025-07-05].. |
| [45] | LIU C, CAI Y, LIN Y, et al. CoEdPilot: recommending code edits with learned prior edit relevance, project-wise awareness, and interactive nature[C]// Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis. New York: ACM, 2024: 466-478. |
| [46] | GUO J, LI Z, LIU X, et al. CodeEditorBench: evaluating code editing capability of large language models[EB/OL]. [2025-07-05].. |
| [47] | FAKHOURY S, CHAKRABORTY S, MUSUVATHI M, et al. Towards generating functionally correct code edits from natural language issue descriptions[EB/OL]. [2025-07-05].. |
| [48] | LIU Y, TANTITHAMTHAVORN C, LIU Y, et al. Automatically recommend code updates: are we there yet?[J]. ACM Transactions on Software Engineering and Methodology, 2024, 33(8): No.217. |
| [49] | MOZANNAR H, BANSAL G, FOURNEY A, et al. Reading between the lines: modeling user behavior and costs in AI-assisted programming[C]// Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems. New York: ACM, 2024: No.142. |
| [50] | CASSANO F, LI L, SETHI A, et al. Can it edit? evaluating the ability of large language models to follow code editing instructions[EB/OL]. [2025-07-05].. |
| [51] | CHAKRABORTY S. Learning to edit code: towards building general purpose models for source code editing[D/OL]. [2025-07-05].. |
| [52] | NGUYEN N, NADI S. An empirical evaluation of GitHub copilot’s code suggestions[C]// Proceedings of the 19th International Conference on Mining Software Repositories. New York: ACM, 2022: 1-5. |
| [53] | TUFANO M, PANTIUCHINA J, WATSON C, et al. On learning meaningful code changes via neural machine translation[C]// Proceedings of the IEEE/ACM 41st International Conference on Software Engineering. Piscataway: IEEE, 2019: 25-36. |
| [54] | PAPINENI K, ROUKOS S, WARD T, et al. BLEU: a method for automatic evaluation of machine translation[C]// Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2002: 311-318. |
| [55] | MUTTON A, DRAS M, WAN S, et al. GLEU: automatic evaluation of sentence-level fluency[C]// Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2007: 344-351. |
| [56] | CHEN M, TWOREK J, JUN H, et al. Evaluating large language models trained on code[EB/OL]. [2025-06-17].. |
| [57] | PAPERSWITHCODE. HumanEval Leaderboard[EB/OL]. [2025-07-06].. |
| [58] | The Astropy Project. Convert NoConvergence errors to warnings in world_to_pixel_values[EB/OL]. [2025-07-06].. |
| [1] | 王晓宇, 李欣, 薛迪, 蒋章涛, 王威, 肖岩军. 基于大语言模型的视频监控网络安全漏洞分类框架[J]. 《计算机应用》唯一官方网站, 2026, 46(4): 1158-1170. |
| [2] | 师凯洲, 何旋, 候国义, 李根, 李泷杲, 黄翔. 基于大语言模型的机载产品计量溯源知识图谱构建方法[J]. 《计算机应用》唯一官方网站, 2026, 46(4): 1086-1095. |
| [3] | 张健, 于剑波, 汤健. 基于多层预处理的城市固废焚烧状态识别方法[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 940-949. |
| [4] | 张昊洋, 张丽萍, 闫盛, 李娜, 张学飞. 面向知识图谱补全的大模型方法综述[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 683-695. |
| [5] | 余松森, 何皇, 薛国鹏, 崔恒拓. 基于改进FENet的瓷砖色差量化分级方法[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 959-968. |
| [6] | 吴定佳, 崔喆. 增强模式链接与多生成器协同的SQL生成框架MG-SQL[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 723-731. |
| [7] | 沈斌, 陈晓宁, 程华, 房一泉, 王慧锋. 基于大语言模型的本科教学评估智能系统[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 993-1003. |
| [8] | 陈敏, 秦小林, 李绍涵, 杨昊, 李韬弘. 深度学习应用于强对流天气预测的综述[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 980-992. |
| [9] | 王日龙, 李振平, 李晓松, 高强, 何亚, 钟勇, 赵英潇. 多Agent协作的知识推理框架[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 708-714. |
| [10] | 姜勇维, 陈晓清, 付麟杰. 基于频谱分解的高频保持医学图像弹性配准模型[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 924-932. |
| [11] | 郗恩康, 范菁, 金亚东, 董华, 俞浩, 孙伊航. 联邦学习在隐私安全领域面临的威胁综述[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 798-808. |
| [12] | 黄奕明, 邹喜华, 邓果, 郑狄. 预回答与召回过滤:双阶段RAG问答系统优化方法[J]. 《计算机应用》唯一官方网站, 2026, 46(3): 696-707. |
| [13] | 高飞, 陈董, 边帝行, 范文强, 刘起东, 吕培, 张朝阳, 徐明亮. 面向学科撤销后科研人员重分配的多阶段耦合决策框架[J]. 《计算机应用》唯一官方网站, 2026, 46(2): 416-426. |
| [14] | 姜皓骞, 张东, 李冠宇, 陈恒. 基于结构增强的层次化任务导向提示策略的对话推荐系统SetaCRS[J]. 《计算机应用》唯一官方网站, 2026, 46(2): 368-377. |
| [15] | 付锦程, 杨仕友. 基于贝叶斯优化和特征融合混合模型的短期风电功率预测[J]. 《计算机应用》唯一官方网站, 2026, 46(2): 652-658. |
| 阅读次数 | ||||||
|
全文 |
|
|||||
|
摘要 |
|
|||||