一句话:提出用嵌入的抽象符号轨迹把程序转为代码向量,以便用机器学习理解程序。
随着机器学习兴起,研究者希望把程序当作可供学习算法处理的数据,但源代码通常无法直接被现成学习技术使用,需要先转换为合适的表示。本文提出“代码向量”(code vectors)方法:通过抽取并抽象程序的符号化执行轨迹,再将这些抽象轨迹嵌入到向量空间,从而得到可被机器学习模型消费的程序表示,用于程序理解任务。该工作强调表示转换是连接程序与学习算法的关键步骤。给出的摘要未报告具体任务、数据集或实验指标,评估细节需参见论文正文。
With the rise of machine learning, there is a great deal of interest in treating programs as data to be fed to learning algorithms. However, programs do not start off in a form that is immediately amenable to most off-the-shelf learning techniques. Instead, it is necessary to transform the program to a suitable representation before a learning technique can be applied.
@inproceedings{paperbot4629,
title = {Code vectors: understanding programs through embedded abstracted symbolic traces},
author = {Jordan Henkel and Shuvendu K. Lahiri and Ben Liblit and Thomas Reps},
booktitle = {FSE},
year = {2018},
doi = {10.1145/3236024.3236085}
}