中文

基于 Prüfer 序列的代码表示学习

人工智能 2021-11-16 v1

摘要

对计算机程序源代码进行有效且高效的编码,对于自动化代码摘要与文档生成等程序理解任务的序列到序列深度神经网络模型的成功至关重要。一个重大挑战是找到一种能够捕获计算机程序结构与语法信息并促进学习模型训练的序列表示。本文提出利用计算机程序抽象语法树(AST)的 Prüfer 序列来设计一种保留 AST 中结构信息的序列表示方案。我们的表示使得开发深度学习模型成为可能,其中训练样本中词法标记所携带的信号可根据其句法角色与重要性被自动且选择性地利用。与近期其他提出的方法不同,我们的表示就 AST 的结构信息而言是简洁且无损的。在真实世界基准数据集上使用我们为代码摘要设计的序列到序列学习模型进行的实证研究表明,我们基于 Prüfer 序列的表示确实高效且有效,显著优于我们用作基线模型的所有近期提出的深度学习模型。

关键词

引用

@article{arxiv.2111.07263,
  title  = {Code Representation Learning with Pr\"ufer Sequences},
  author = {Tenzin Jinpa and Yong Gao},
  journal= {arXiv preprint arXiv:2111.07263},
  year   = {2021}
}

备注

Paper has been accepted in AAAI-22 Student Abstract and Poster Program (SA-22)