A code completion system suggests future code elements to developers given a partially-complete code snippet. Code completion is one of the most useful features in Integrated Development Environments (IDEs). Currently, most code completion techniques predict a single token at a time. In this paper, we take a further step and discuss the probability of directly completing a whole line of code instead of a single token. We believe suggesting longer code sequences can further improve the efficiency of developers. Recently neural language models have been adopted as a preferred approach for code completion, and we believe these models can still be applied to full-line code completion with a few improvements. We conduct our experiments on two real-world python corpora and evaluate existing neural models based on source code tokens or syntactical actions. The results show that neural language models can achieve acceptable results on our tasks, with significant room for improvements.


翻译:代码完成系统向开发者建议未来的代码元素。 代码完成是综合开发环境( IDES) 中最有用的特征之一。 目前, 大部分代码完成技术都一次预测一个符号。 在本文中, 我们进一步一步讨论直接完成整个代码线而不是单一符号的可能性。 我们认为建议更长的代码序列可以进一步提高开发者的效率。 最近, 神经语言模型已被采纳为完成代码的首选方法, 我们认为这些模型仍然可以用于完成完整代码, 并进行一些改进。 我们实验两个真实世界的 Python 公司, 并评估基于源代码符号或合成动作的现有神经模型。 结果表明, 神经语言模型可以在我们的任务上取得可接受的结果, 并有很大的改进空间 。

3
下载
关闭预览

相关内容

神经语言模型(Neural Language Model,NLM)是一类用来克服维数灾难的语言模型,它使用词的分布式表示对自然语言序列建模。不同于基于类的n-gram模型,神经语言模型在能够识别两个相似的词,并且不丧失将每个词编码为彼此不同的能力。神经语言模型共享一个词(及其上下文)和其他类似词。
ACL2020接受论文列表公布,571篇长文208篇短文
专知会员服务
66+阅读 · 2020年5月19日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Capsule Networks解析
机器学习研究会
10+阅读 · 2017年11月12日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Arxiv
20+阅读 · 2019年9月7日
Arxiv
6+阅读 · 2019年9月4日
Arxiv
21+阅读 · 2019年8月21日
Arxiv
3+阅读 · 2019年8月19日
Arxiv
23+阅读 · 2018年10月24日
Arxiv
5+阅读 · 2017年9月8日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Capsule Networks解析
机器学习研究会
10+阅读 · 2017年11月12日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
相关论文
Arxiv
20+阅读 · 2019年9月7日
Arxiv
6+阅读 · 2019年9月4日
Arxiv
21+阅读 · 2019年8月21日
Arxiv
3+阅读 · 2019年8月19日
Arxiv
23+阅读 · 2018年10月24日
Arxiv
5+阅读 · 2017年9月8日
Top
微信扫码咨询专知VIP会员