arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.11318cs.LGcs.SE
收藏

基于结构和上下文的Source Code的知识不可知表示学习

Language-Agnostic Representation Learning of Source Code from Structure and Context

Technical University of Munich(慕尼黑工业大学);Stanford University(斯坦福大学)

Daniel Zügner, Tobias Kirschstein, Michele Catasta, Jure Leskovec, Stephan Günnemann

摘要:

源代码(上下文)及其解析的抽象语法树(AST;结构)是同一计算机程序的两个互补表示。传统上,机器学习模型的设计者主要依赖于结构或上下文。我们提出了一个新的模型,它联合学习上下文和源代码的结构。与以前的方法相比,我们的模型只使用语言无关的功能,即,可以直接从AST计算的源代码和功能。除了获得国家的最先进的单语代码摘要的所有五个程序设计语言在这项工作中考虑,我们提出了第一个多语言代码摘要模型。我们发现,对来自多个程序设计语言的非并行数据进行联合训练可以改善所有语言的结果,其中最大的收益是低资源语言。值得注意的是,仅从上下文进行多语言训练并没有带来同样的改进,突出了将结构和上下文结合起来进行代码表示学习的好处。

英文摘要:

Source code (Context) and its parsed abstract syntax tree (AST; Structure) are two complementary representations of the same computer program. Traditionally, designers of machine learning models have relied predominantly either on Structure or Context. We propose a new model, which jointly learns on Context and Structure of source code. In contrast to previous approaches, our model uses only language-agnostic features, i.e., source code and features that can be computed directly from the AST. Besides obtaining state-of-the-art on monolingual code summarization on all five programming languages considered in this work, we propose the first multilingual code summarization model. We show that jointly training on non-parallel data from multiple programming languages improves results on all individual languages, where the strongest gains are on low-resource languages. Remarkably, multilingual training only from Context does not lead to the same improvements, highlighting the benefits of combining Structure and Context for representation learning on code.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑