摘要
代码补全(code completion)通过提供类名和方法名等预测,辅助开发人员编写代码,是自动化软件开发的重要功能之一.近年来,智能代码补全已成为软件工程领域的热门研究方向之一,前人工作表明通过自然语言技术或神经网络学习代码,能够提高代码补全的准确率,但这些补全模型仍存在不足,如代码上下文的信息表示较弱、程序信息提取不全和代码补全任务不平衡.因此,本文提出一种全新的智能代码补全方法,其中引入形变的长短记忆网络(Mogrifier-LSTM)和注意力机制增强代码上下文的信息表示,同时利用双向LSTM学习程序的层次结构信息,并设计一种多任务框架自动实现代码补全任务之间的平衡.通过在真实数据集上进行实验,结果表明本文所提方法表现优于主流代码补全方法.
- 单位