Code Vectors: Understanding Programs Through Embedded Abstracted Symbolic Traces
Not on the map. Why?
Abstract (arXiv)
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. In this paper, we use abstractions of traces obtained from symbolic execution of a program as a representation for learning word embeddings. We trained a variety of word embeddings under hundreds of parameterizations, and evaluated each learned embedding on a suite of different tasks. In our evaluation, we obtain 93% top-1 accuracy on a benchmark consisting of over 19,000 API-usage analogies extracted from the Linux kernel. In addition, we show that embeddings learned from (mainly) semantic abstractions provide nearly triple the accuracy of those learned from (mainly) syntactic abstractions.
Key facts. Cited by 7 papers in the map (data through 14 Oct 2026). First posted on arXiv 18 Mar 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 1; 2023: 1; 2024: 1.
7 papers.
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 86
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?cited by 45
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Searchcited by 3
- 2022Test2Vec: An Execution Trace Embedding for Test Case Prioritizationcited by 3
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisonscited by 0
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?25 Mar 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2022Test2Vec: An Execution Trace Embedding for Test Case Prioritization28 Jun 2022
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search24 Mar 2021
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisons15 Mar 2021
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repair26 Feb 2021
- 2021Learning to Make Compiler Optimizations More Effective24 Feb 2021