Skip to main content
QUICK REVIEW

[论文解读] Deep Learning for Source Code Modeling and Generation: Models, Applications and Challenges

Triet Huynh Minh Le, Hao Chen|arXiv (Cornell University)|Feb 13, 2020
Software Engineering Research参考文献 280被引用 36
一句话总结

对源代码建模与生成的深度学习方法的综合综述,将程序学习任务置于编码器–解码器架构框架内,概述数据集、实践、挑战与未来方向。

ABSTRACT

Deep Learning (DL) techniques for Natural Language Processing have been evolving remarkably fast. Recently, the DL advances in language modeling, machine translation and paragraph understanding are so prominent that the potential of DL in Software Engineering cannot be overlooked, especially in the field of program learning. To facilitate further research and applications of DL in this field, we provide a comprehensive review to categorize and investigate existing DL methods for source code modeling and generation. To address the limitations of the traditional source code models, we formulate common program learning tasks under an encoder-decoder framework. After that, we introduce recent DL mechanisms suitable to solve such problems. Then, we present the state-of-the-art practices and discuss their challenges with some recommendations for practitioners and researchers as well.

研究动机与目标

  • 通过突出传统代码模型的局限性来推动在大代码领域使用深度学习。
  • 系统性地将源代码建模任务 mapped 到编码器–解码器框架。
  • 评述适用于代码建模和生成的最先进的深度学习模型与机制。
  • 识别数据集、挑战,并为从业者和研究人员提出建议。

提出的方法

  • 将常见的程序学习任务在编码器–解码器框架下表述,以解决灵活性和可扩展性。
  • 回顾传统方法(DSL、概率语法、n-gram、简单神经模型)及其局限性。
  • 描述用于代码任务的深度序列建模模型(RNN、CNN、Transformer)及技术(注意力、外部记忆、束搜索)。
  • 讨论输入嵌入及处理大规模代码词汇,包括子词与字符级表示。
  • 概述适用于序列模型的稳定训练技术(SGD及其变体、dropout及其变体、归一化、正则化)。
  • 系统性回顾面向大代码任务的基于深度学习的做法并讨论数据集。

实验结果

研究问题

  • RQ1哪些是适用于源代码建模和生成的主要基于深度学习的方法?
  • RQ2如何将编码器–解码器框架应用于各种大代码任务?
  • RQ3哪些数据集支持基于深度学习的源代码建模与生成?
  • RQ4当前深度源代码模型面临哪些挑战及未来方向?
  • RQ5在捕捉语法、语义与长期依赖方面,深度学习方法与传统模型相比有哪些差异?

主要发现

  • 深度学习方法通过自动学习特征并捕捉代码中的长期依赖,优于传统模型。
  • 带有注意力/记忆机制的编码器–解码器框架为代码序列提供了有效的上下文处理。
  • 基于 Transformer 的以及其他非循环结构在代码相关任务上提供了强劲性能和更快的训练速度。
  • 字符级和子词级嵌入有助于管理大规模代码词汇并提升代码补全效果。
  • 存在多样的数据集和实际建议,以及诸如可扩展性、泛化性和数据集质量等挑战。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。