一句话:提出跨语言迁移学习框架 PLATO,用 Bert 类模型把一种语言的标注知识迁移到其他语言,以缓解程序分析任务中标注数据稀缺的问题。
基于深度学习的程序分析技术已广泛用于类型推断、故障定位和代码摘要等任务,但现有系统大多依赖监督学习,需要耗费大量人力收集和标注海量数据。作者观察到多数图灵完备的命令式语言在控制流与数据流结构上具有相似性,因此具备从一个语言向另一个语言迁移知识的可能。为此,本文提出通用跨语言迁移学习框架 PLATO,采用对不同下游任务通用的技术,使基于 Bert 的模型能够利用某一语言标注数据集中的先验知识,并将其迁移到其他语言。作者在类型推断和代码摘要等多个下游任务上进行了评估,验证了该框架的可行性。
Deep learning-based techniques have been widely applied to program analysis tasks, in fields such as type inference, fault localization, and code summarization. Hitherto deep learning-based software engineering systems rely thoroughly on supervised learning approaches, which require laborious manual effort to collect and label a prohibitively large amount of data. However, most Turing-complete imperative languages share similar control- and data-flow structures, which make it possible to transfer knowledge learned from one language to another. In this paper, we propose a general cross-lingual transfer learning framework PLATO for program analysis by using a series of techniques that are general to different downstream tasks. PLATO allows Bert-based models to leverage prior knowledge learned from the labeled dataset of one language and transfer it to the others. We evaluate our approaches on several downstream tasks such as type inference and code summarization to demonstrate its feasibility.
DOI 原文 ·
@inproceedings{paperbot6626,
title = {Cross-Lingual Transfer Learning Framework for Program Analysis},
author = {Zhiming Li},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678848}
}