paper-with-me

Papers

funcGNN: A Graph Neural Network Approach to Program Similarity

2020-07-26 · Aravind Nair, Avijit Roy, Karl Meinke

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.

📄 PDF Abstract BibTeX arXiv:2007.13239

Code (1)

aravi11/funcGNN 공식 구현 pytorch

Tasks

Code SearchGraph EmbeddingGraph Neural NetworkGraph SimilarityInductive Learning

Methods 이 논문이 사용한 방법론

Graph Neural Network 설명 없음

Similar Papers 제목 키워드 기반

FuncGNN: Learning Functional Semantics of Logic Circuits with Graph Neural Networks

2025-06-07 · Qiyun Zhao

As integrated circuit scale grows and design complexity rises, effective circuit representation helps support logic synthesis, formal verification, and other automated processes in electronic design automation. And-Inver…

GPU

CSSG: Measuring Code Similarity with Semantic Graphs

2026-01-07 · Yiyang Lu, Jingwen Xu, Changze Lv, Zisu Huang 외 arxiv

Existing code similarity metrics, such as BLEU, CodeBLEU, and TSED, largely rely on surface-level string overlap or abstract syntax tree structures, and often fail to capture deeper semantic relationships between program…

Learning to Infer Graphics Programs from Hand-Drawn Images

2017-07-30 · ICLR 2018 1 · Kevin Ellis, Daniel Ritchie, Armando Solar-Lezama, Joshua B. Tenenbaum

We introduce a model that learns to convert simple hand drawings into graphics programs written in a subset of \LaTeX. The model combines techniques from deep learning and program synthesis. We learn a convolutional neur…

Program Synthesis

Exploring General Intelligence of Program Analysis for Multiple Tasks

2021-09-29 · Yixin Guo, Pengcheng Li, Yingwei Luo, Xiaolin Wang 외

Artificial intelligence are gaining more attractions for program analysis and semantic understanding. Nowadays, the prevalent program embedding techniques usually target at one single task, for example detection of binar…

Heterogeneous Graph Matching Networks

2019-10-17 · Shen Wang, Zhengzhang Chen, Xiao Yu, Ding Li 외

Information systems have widely been the target of malware attacks. Traditional signature-based malicious program detection algorithms can only detect known malware and are prone to evasion techniques such as binary obfu…

Graph MatchingMalware Detection