Path-Based Function Embedding and its Application to Specification Mining
Not on the map. Why?
Abstract (arXiv)
Identifying the relationships among program elements is useful for program understanding, debugging, and analysis. One such relationship is synonymy. Function synonyms are functions that play a similar role in code, e.g. functions that perform initialization for different device drivers, or functions that implement different symmetric-key encryption schemes. Function synonyms are not necessarily semantically equivalent and can be syntactically dissimilar; consequently, approaches for identifying code clones or functional equivalence cannot be used to identify them. This paper presents func2vec, an algorithm that maps each function to a vector in a vector space such that function synonyms are grouped together. We compute the function embedding by training a neural network on sentences generated from random walks over an encoding of the program as a labeled pushdown system (l-PDS). We demonstrate that func2vec is effective at identifying function synonyms in the Linux kernel. Furthermore, we show how function synonyms enable mining error-handling specifications with high support in Linux file systems and drivers.
Key facts. Cited by 8 papers in the map (data through 14 Oct 2026). First posted on arXiv 21 Feb 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 3; 2022: 2; 2023: 2; 2024: 0; 2025: 0; 2026: 1.
8 papers.
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
- 2022A Library for Representing Python Programs as Graphs for Machine Learningcited by 4
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Searchcited by 3
- 2022JEMMA: An Extensible Java Dataset for ML4Code Applicationscited by 2
- 2023An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Codecited by 1
- 2021Text Classification for Task-based Source Code Related Questionscited by 0
- 2023Test Case Recommendations with Distributed Representation of Code Syntactic Featurescited by 0
- 2026Type-IV Code Clone Detection via Layer-Wise Non-Contrastive Representation Learningcited by 0
- 2026Type-IV Code Clone Detection via Layer-Wise Non-Contrastive Representation Learning15 Sep 2026
- 2023Test Case Recommendations with Distributed Representation of Code Syntactic Features4 Oct 2023
- 2023An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code5 Jul 2023
- 2022JEMMA: An Extensible Java Dataset for ML4Code Applications18 Dec 2022
- 2022A Library for Representing Python Programs as Graphs for Machine Learning15 Aug 2022
- 2021Text Classification for Task-based Source Code Related Questions31 Oct 2021
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search24 Mar 2021
- 2021Learning to Make Compiler Optimizations More Effective24 Feb 2021