CoCoMIC:通过联合建模文件内与跨文件上下文实现代码补全
机器学习
2022-12-21 v1 密码学与安全
摘要
尽管用于代码的预训练语言模型(LM)在代码补全上取得了巨大成功,它们仅以文件内的内容(即文件内上下文)为条件生成代码,却忽略了同一项目中其他文件里的丰富语义(即跨文件上下文)——这是现代模块化软件开发中尤为关键的信息来源。这种忽视限制了代码语言模型在代码补全上的能力,导致诸如生成幻觉化的类成员函数或带意外参数的函数调用等异常行为。在本工作中,我们开发了跨文件上下文查找工具 CCFINDER,可有效定位并检索最相关的跨文件上下文。我们提出 CoCoMIC,一种在预训练代码 LM 之上融合跨文件上下文、联合学习文件内与跨文件上下文的框架。当提供跨文件上下文时,CoCoMIC 成功改进了现有代码 LM,在代码补全上的精确匹配相对提升 33.94%,标识符匹配相对提升 28.69%。
引用
@article{arxiv.2212.10006,
title = {Multi-head Uncertainty Inference for Adversarial Attack Detection},
author = {Yuqi Yang and Songyun Yang and Jiyang Xie. Zhongwei Si and Kai Guo and Ke Zhang and Kongming Liang},
journal= {arXiv preprint arXiv:2212.10006},
year = {2022}
}