funcGNN: A Graph Neural Network Approach to Program Similarity
Not on the map. Why?
Abstract (arXiv)
Program similarity is a fundamental concept, central to the solution of software engineering tasks such as software plagiarism, clone identification, code refactoring and code search. Accurate similarity estimation between programs requires an in-depth understanding of their structure, semantics and flow. A control flow graph (CFG), is a graphical representation of a program which captures its logical control flow and hence its semantics. A common approach is to estimate program similarity by analysing CFGs using graph similarity measures, e.g. graph edit distance (GED). However, graph edit distance is an NP-hard problem and computationally expensive, making the application of graph similarity techniques to complex software programs impractical. This study intends to examine the effectiveness of graph neural networks to estimate program similarity, by analysing the associated control flow graphs. We introduce funcGNN, which is a graph neural network trained on labeled CFG pairs to predict the GED between unseen program pairs by utilizing an effective embedding vector. To our knowledge, this is the first time graph neural networks have been applied on labeled CFGs for estimating the similarity between high-level language programs. Results: We demonstrate the effectiveness of funcGNN to estimate the GED between programs and our experimental analysis demonstrates how it achieves a lower error rate (0.00194), with faster (23 times faster than the quickest traditional GED approximation method) and better scalability compared with the state of the art methods. funcGNN posses the inductive learning ability to infer program structure and generalise to unseen programs. The graph embedding of a program proposed by our methodology could be applied to several related software engineering problems (such as code plagiarism and clone identification) thus opening multiple research directions.
Key facts. Cited by 16 papers in the map (data through 7 Oct 2026). First posted on arXiv 26 Jul 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 3; 2022: 8; 2023: 2; 2024: 2; 2025: 1.
16 papers.
Sort:
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2024IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generatorscited by 21
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimizationcited by 9
- 2022Discovering the Representation Bottleneck of Graph Neural Networkscited by 4
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2022Evaluation of Contrastive Learning with Various Code Representations for Code Clone Detectioncited by 3
- 2022Heterogeneous Graph Neural Networks for Software Effort Estimationcited by 3
- 2024DeepCodeProbe: Towards Understanding What Models Trained on Code Learncited by 1
- 2021SINGA-Easy: An Easy-to-Use Framework for MultiModal Analysiscited by 0
- 2021VisualTextRank: Unsupervised Graph-based Content Extraction for Automating Ad Text to Image Searchcited by 0
- 2021Text is NOT Enough: Integrating Visual Impressions into Open-domain Dialogue Generationcited by 0
- 2022Discovering Personalized Semantics for Soft Attributes in Recommender Systems using Concept Activation Vectorscited by 0
4 more
- 2022Reinforced MOOCs Concept Recommendation in Heterogeneous Information Networkscited by 0
- 2022Explanation-Guided Fairness Testing through Genetic Algorithmcited by 0
- 2022Using Graph Neural Networks for Program Terminationcited by 0
- 2023Tribe or Not? Critical Inspection of Group Differences Using TribalGramcited by 0
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2024DeepCodeProbe: Towards Understanding What Models Trained on Code Learn11 Jul 2024
- 2024IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators6 Mar 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Tribe or Not? Critical Inspection of Group Differences Using TribalGram16 Mar 2023
- 2022Using Graph Neural Networks for Program Termination28 Jul 2022
- 2022Heterogeneous Graph Neural Networks for Software Effort Estimation22 Jun 2022
- 2022Evaluation of Contrastive Learning with Various Code Representations for Code Clone Detection17 Jun 2022
- 2022Explanation-Guided Fairness Testing through Genetic Algorithm16 May 2022
- 2022Discovering the Representation Bottleneck of Graph Neural Networks15 May 2022
- 2022Reinforced MOOCs Concept Recommendation in Heterogeneous Information Networks8 Mar 2022
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimization1 Mar 2022
4 more
- 2022Discovering Personalized Semantics for Soft Attributes in Recommender Systems using Concept Activation Vectors6 Feb 2022
- 2021Text is NOT Enough: Integrating Visual Impressions into Open-domain Dialogue Generation13 Sep 2021
- 2021VisualTextRank: Unsupervised Graph-based Content Extraction for Automating Ad Text to Image Search5 Aug 2021
- 2021SINGA-Easy: An Easy-to-Use Framework for MultiModal Analysis3 Aug 2021
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2024IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generatorscited by 21
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimizationcited by 9
- 2022Discovering the Representation Bottleneck of Graph Neural Networkscited by 4
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2022Evaluation of Contrastive Learning with Various Code Representations for Code Clone Detectioncited by 3
- 2022Heterogeneous Graph Neural Networks for Software Effort Estimationcited by 3
- 2024DeepCodeProbe: Towards Understanding What Models Trained on Code Learncited by 1
- 2021SINGA-Easy: An Easy-to-Use Framework for MultiModal Analysiscited by 0
- 2021VisualTextRank: Unsupervised Graph-based Content Extraction for Automating Ad Text to Image Searchcited by 0
- 2021Text is NOT Enough: Integrating Visual Impressions into Open-domain Dialogue Generationcited by 0
- 2022Discovering Personalized Semantics for Soft Attributes in Recommender Systems using Concept Activation Vectorscited by 0
12 most cited of 16 All 16 (JSON)
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2024DeepCodeProbe: Towards Understanding What Models Trained on Code Learn11 Jul 2024
- 2024IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators6 Mar 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Tribe or Not? Critical Inspection of Group Differences Using TribalGram16 Mar 2023
- 2022Using Graph Neural Networks for Program Termination28 Jul 2022
- 2022Heterogeneous Graph Neural Networks for Software Effort Estimation22 Jun 2022
- 2022Evaluation of Contrastive Learning with Various Code Representations for Code Clone Detection17 Jun 2022
- 2022Explanation-Guided Fairness Testing through Genetic Algorithm16 May 2022
- 2022Discovering the Representation Bottleneck of Graph Neural Networks15 May 2022
- 2022Reinforced MOOCs Concept Recommendation in Heterogeneous Information Networks8 Mar 2022
- 2022Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimization1 Mar 2022
12 newest of 16 All 16 (JSON)