arrow
返回

Learning to represent code changes

delete2025-12-17
delete0
PRE
AI
X
Xunzhu Tang
H
Haoye Tian
W
Weiguo Pian
S
Saad Ezzini
A
Abdoul Kader Kaboré
A
Andrew Habib
K
Kisub Kim *
J
Jacques Klein
T
Tegawendé F. Bissyandé
DOI:10.1007/s10664-025-10763-6delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
代码变更表示在自动化众多软件工程任务中扮演着关键角色,例如对代码变更正确性进行分类或生成代码变更的自然语言摘要。近期研究利用深度学习来获取有效的代码变更表示,主要关注捕获令牌序列或抽象语法树(AST)中的变更。然而,这些当前最先进的表示并未显式计算变更在AST上引起的意图语义,也未有效探索被修改行的周围上下文信息。为解决此问题,我们提出了一种新的代码变更表示方法学Patcherizer(我们称之为我们的工具)。该创新方法探索了上下文和结构的意图特征,结合了代码变更周围的上下文以及两种新的表示。这些新表示捕获了代码变更中的序列意图和代码变更前后AST图结构变更中的图意图。这种全面的表示使我们能更好地捕获代码变更的潜在意图。Patcherizer基于图卷积神经网络对意图图的结构输入表示,基于Transformer对意图序列表示。我们在三个任务上评估了Patcherizer学习到的嵌入的泛化能力:(1) 生成自然语言中的代码变更描述,(2) 在程序修复中预测代码变更正确性,(3) 检测代码变更意图。实验结果表明,学习到的代码变更表示对所有三个任务均有效,且性能优于当前最先进(SOTA)方法。例如,在流行的代码变更描述生成任务(即提交信息生成)中,Patcherizer在BLEU、ROUGE-L和METEOR指标上分别实现了平均19.39%、8.71%和34.03%的提升。
Keyword:
Code change representation
Code change correctness
Message generation

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

S
school of computing and communications
学者数:
17
论文数: 9
被引数: 0
S
School of Computing and Information Systems
学者数:
40
论文数: 28
被引数: 4
U
university of luxembourg
学者数:
5.2K
论文数: 4.8K
被引数: 4
学者 查看更多机构
引用论文

引用论文

BLEU布卢
err2001-01-01
err0
errOAAI
errKishore Papineni; Salim Roukos; Todd Ward; Wei-Jing Zhu
err分享
err收藏
err分享
err收藏
CoreGen: Contextualized Code Representation Learning for Commit Message Generation
err2021-10-01
err25
errOAAI
errNie, Lun Yiu; Gao, Cuiyun; Zhong, Zhicong; Lam, Wai; Liu, Yang; Xu, Zenglin
err分享
err收藏
Learning Human-Written Commit Messages to Document Code Changes
err2020-11-30
err0
PREAI
errYuan Huang; Nan Jia; Hao-Jie Zhou; Xiang-Ping Chen; Zi-Bin Zheng; Ming-Dong Tang
err分享
err收藏
ProtTrans: Towards Cracking the Language of Life’s Code Through Self-Supervised Learning
err
IF0
err2020-07-12
err0
errOAAI
errAhmed Elnaggar; Michael Heinzinger; Christian Dallago; Ghalia Rehawi; Yu Wang; Llion Jones; Tom Gibbs; Tamas Feher; Christoph Angerer; Martin Steinegger; Debsindhu Bhowmik; Burkhard Rost
err分享
err收藏
ChangeScribe: A Tool for Automatically Generating Commit Messages
err2015-05-01
err0
errOAAI
errMario Linares-Vasquez; Luis Fernando Cortes-Coy; Jairo Aponte; Denys Poshyvanyk
err分享
err收藏
学者 查看更多内容