中文

释放编译器中间表示的潜力以增强神经程序嵌入

软件工程 2022-04-21 v1

摘要

神经程序嵌入在一系列程序分析任务中已展现出可观前景,包括克隆识别、程序修复、代码补全与程序合成。然而,大多数现有方法通过从程序源代码中的词元、抽象语法树和控制流图等特征学习,直接生成神经程序嵌入。本文重新审视如何借助编译器中间表示(IR)来改进程序嵌入。我们首先展示了通过以默认优化级别(如-O2)生成的源代码与LLVM IR共同训练嵌入模型,来提升嵌入质量的简单而高效的方法。随后我们引入IRGen,一个基于遗传算法(GA)的框架,以识别能显著提升嵌入质量的(近)最优优化标志序列。

关键词

引用

@article{arxiv.2204.09191,
  title  = {Unleashing the Power of Compiler Intermediate Representation to Enhance Neural Program Embeddings},
  author = {Zongjie Li and Pingchuan Ma and Huaijin Wang and Shuai Wang and Qiyi Tang and Sen Nie and Shi Wu},
  journal= {arXiv preprint arXiv:2204.09191},
  year   = {2022}
}