当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automated Source Code Generation and Auto-completion Using Deep Learning: Comparing and Discussing Current Language-Model-Related Approaches
arXiv - CS - Software Engineering Pub Date : 2020-09-16 , DOI: arxiv-2009.07740
Juan Cruz-Benito (1), Sanjay Vishwakarma (2), Francisco Martin-Fernandez (1), Ismael Faro (1) ((1) IBM Quantum, (2) Electrical and Computer Engineering. Carnegie Mellon University)

In recent years, the use of deep learning in language models, text auto-completion, and text generation has made tremendous progress and gained much attention from the research community. Some products and research projects claim that they can generate text that can be interpreted as human-writing, enabling new possibilities in many application areas. Among the different areas related to language processing, one of the most notable in applying this type of modeling is the processing of programming languages. For years, the Machine Learning community has been researching in this Big Code area, pursuing goals like applying different approaches to auto-complete generate, fix, or evaluate code programmed by humans. One of the approaches followed in recent years to pursue these goals is the use of Deep-Learning-enabled language models. Considering the increasing popularity of that approach, we detected a lack of empirical papers that compare different methods and deep learning architectures to create and use language models based on programming code. In this paper, we compare different neural network (NN) architectures like AWD-LSTMs, AWD-QRNNs, and Transformer, while using transfer learning, and different tokenizations to see how they behave in building language models using a Python dataset for code generation and filling mask tasks. Considering the results, we discuss the different strengths and weaknesses of each approach and technique and what lacks do we find to evaluate the language models or apply them in a real programming context while including humans-in-the-loop.

中文翻译:

使用深度学习自动生成源代码和自动完成:比较和讨论当前与语言模型相关的方法

近年来,深度学习在语言模型、文本自动完成和文本生成方面的应用取得了巨大进展,并受到了研究界的广泛关注。一些产品和研究项目声称它们可以生成可以解释为人类书写的文本,从而在许多应用领域实现新的可能性。在与语言处理相关的不同领域中,应用此类建模最值得注意的领域之一是编程语言的处理。多年来,机器学习社区一直在这个大代码领域进行研究,追求的目标是应用不同的方法来自动完成生成、修复或评估人类编程的代码。近年来为实现这些目标而采用的方法之一是使用支持深度学习的语言模型。考虑到这种方法越来越受欢迎,我们发现缺乏比较不同方法和深度学习架构以创建和使用基于编程代码的语言模型的实证论文。在本文中,我们比较了不同的神经网络 (NN) 架构,如 AWD-LSTM、AWD-QRNN 和 Transformer,同时使用迁移学习和不同的标记化,以了解它们在使用 Python 数据集进行代码生成和构建语言模型时的表现。填充面具任务。考虑到结果,我们讨论了每种方法和技术的不同优势和劣势,以及我们在评估语言模型或将它们应用于实际编程环境时发现哪些不足,同时包括人工参与。我们发现缺乏比较不同方法和深度学习架构以创建和使用基于编程代码的语言模型的实证论文。在本文中,我们比较了不同的神经网络 (NN) 架构,如 AWD-LSTM、AWD-QRNN 和 Transformer,同时使用迁移学习和不同的标记化,以了解它们在使用 Python 数据集进行代码生成和构建语言模型时的表现。填充面具任务。考虑到结果,我们讨论了每种方法和技术的不同优势和劣势,以及我们在评估语言模型或将它们应用于实际编程环境时发现哪些不足,同时包括人工参与。我们发现缺乏比较不同方法和深度学习架构来创建和使用基于编程代码的语言模型的实证论文。在本文中,我们比较了不同的神经网络 (NN) 架构,如 AWD-LSTM、AWD-QRNN 和 Transformer,同时使用迁移学习和不同的标记化,以了解它们在使用 Python 数据集进行代码生成和构建语言模型时的表现。填充面具任务。考虑到结果,我们讨论了每种方法和技术的不同优势和劣势,以及我们在评估语言模型或将它们应用于实际编程环境时发现的不足之处,同时包括人工参与。我们比较了不同的神经网络 (NN) 架构,如 AWD-LSTM、AWD-QRNN 和 Transformer,同时使用迁移学习和不同的标记化,以了解它们在使用 Python 数据集构建语言模型时的行为,用于代码生成和填充掩码任务。考虑到结果,我们讨论了每种方法和技术的不同优势和劣势,以及我们在评估语言模型或将它们应用于实际编程环境时发现哪些不足,同时包括人工参与。我们比较了不同的神经网络 (NN) 架构,如 AWD-LSTM、AWD-QRNN 和 Transformer,同时使用迁移学习和不同的标记化,以了解它们在使用 Python 数据集构建语言模型时的行为,用于代码生成和填充掩码任务。考虑到结果,我们讨论了每种方法和技术的不同优势和劣势,以及我们在评估语言模型或将它们应用于实际编程环境时发现哪些不足,同时包括人工参与。
更新日期:2020-09-17
down
wechat
bug