May, 2021

神经网络如何理解程序?

TL;DR本文探讨了基于 NLP 预训练技术的代码表示学习的进展,提出了一种新的程序语义学习模式,即模型应该学习由与操作语义基本操作对齐的表示和不可或缺的环境转换信息构成的信息。为了验证我们的建议,我们提出了一个名为 OSCAR 的分层 Transformer 预训练模型,通过从 IR 和静态分析导出的编码表示中学习来表示基本操作和环境转换信息,证明了 OSCAR 在许多实际软件工程任务中理解程序语义的杰出能力。