中文

使用双向 LSTM 循环神经网络拆分源代码标识符

计算与语言 2018-07-20 v2 编程语言

摘要

程序员通过标识符与注释在所写源代码中大量运用自然语言。源代码标识符选自与含义、命名约定和上下文紧密相关的词元池,这些词元常被组合以产生更精确且明显的称谓。此类多部分标识符在 Public Git Archive(迄今最大的 Git 仓库数据集)中占所有命名词元的 97%。我们引入一种双向 LSTM 循环神经网络来检测源代码标识符中的子词元。我们在从 Public Git Archive 中 182,014 个开源项目收集的 4,170 万个不同可拆分标识符上训练该网络,并表明其优于其他几种机器学习模型。所提网络可用于改进基于源代码标识符的上游模型,并改善开发者体验,使其无需切换键盘大小写即可编写代码。

关键词

引用

@article{arxiv.1805.11651,
  title  = {Splitting source code identifiers using Bidirectional LSTM Recurrent Neural Network},
  author = {Vadim Markovtsev and Waren Long and Egor Bulychev and Romain Keramitas and Konstantin Slavnov and Gabor Markowski},
  journal= {arXiv preprint arXiv:1805.11651},
  year   = {2018}
}

备注

8 pages