代码变更通用嵌入的无监督学习
软件工程
2021-07-12 v2 机器学习
摘要
将机器学习应用于处理代码变更的任务需要其数值表示。在本工作中,我们提出了一种在预训练期间获取此类表示的方法,并在两个不同的下游任务上对其进行评估——将变更应用于代码和提交信息生成。在预训练期间,模型学习以正确方式应用给定的代码变更。该任务仅需要代码变更本身,因此是无监督的。在应用代码变更的任务中,我们的模型在准确率上比基线模型高出 5.9 个百分点。至于提交信息生成,我们的模型展示了与专为该特定任务训练的有监督模型相同的结果,这表明它能够很好地编码代码变更,并且未来可以通过在更容易收集的大规模代码变更数据集上进行预训练来改进。
引用
@article{arxiv.2106.02087,
title = {Unsupervised Learning of General-Purpose Embeddings for Code Changes},
author = {Mikhail Pravilov and Egor Bogomolov and Yaroslav Golubev and Timofey Bryksin},
journal= {arXiv preprint arXiv:2106.02087},
year = {2021}
}
备注
6 pages, 2 figures