arrow
返回

Java Code Clone Detection by Exploiting Semantic and Syntax Information From Intermediate Code-Based Graph

delete2023-06-01
delete11
PRE
AI
D
Dawei Yuan
S
Sen Fang
T
Tao Zhang *
周旭 封面图
周旭 (Zhou Xu)
X
Xiapu Luo
DOI:10.1109/TR.2022.3176922delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Code clone detection plays a critical role in the field of software engineering. To achieve this goal, developers are required to have rich development experience for finding the functional clone code. However, this is unfriendly to novice developers. Although many approaches were proposed to automatically detect code clones, the results are not satisfactory. A major reason is that it is difficult to extract syntax and semantic information from the source code. To resolve this problem, in this article, we develop a novel graph representation approach based on intermediate code to detect the functional code clones. This graph representation is built based on intermediate code compiled from the source code. By using it, we can easily utilize graph embedding techniques to extract syntactic and semantic features from abstract syntax tree, control flow graph, and DFG generated from intermediate code. After that, we use the Softmax classifier to detect functional code clone pairs. We evaluate the performance of the proposed graph representation approach based on intermediate code for the code clone detection task on the BigCloneBench dataset. In order to improve performance, the embedded representation of intermediate code is initialized based on pretrained vectors learned from the collected LLVM IR dataset in advance. The experimental results show that our proposed intermediate code-based graph approach performs better than existing functional code clone detection approaches. Especially for the type-4 code clone detection, our approach outperforms the baseline approaches by an average of 33.49% in the term of F1 score.
Keyword:
Codes
Cloning
Syntactics
Semantics
Data mining
Task analysis
Feature extraction
Abstract syntax tree (AST)
clone code detection
control flow graph (CFG)
data flow graph (DFG)
graph embedding
intermediate code

期刊

IEEE Transactions on Reliability 封面图
IEEE Transactions on Reliability
IF:
5.7
论文数:
2.8K
被引数:
8.5K

机构

H
hong kong polytechnic university
学者数:
3.0W
论文数: 4.1W
被引数: 921
C
Chongqing University
学者数:
5.1W
论文数: 4.1W
被引数: 6.0W
引用论文

引用论文

err分享
err收藏
Single-transverse-mode InGaAsP-InP edge-emitting bipolar cascade laser
err2005-11-01
err0
PREAI
errF. Dross; F. van Dijk; O. Parillaud; B. Vinter; N. Vodjdani
err分享
err收藏
Sustainability of the community-based ecotourism development in the Aksu-Zhabagly nature reserve, Kazakhstan
err2022-03-07
err0
errOAAI
errImanaly Akbar; Sergeyeva Aigul Maksatovna; Myrzaliyeva Zabira Kazbekkyzy; Tazhekova Akmaral Zhaksybekkyzy; Saulembaev Altynbai Tagabayevich; Mominov Serik Abdukarimovich
err分享
err收藏
学者 查看更多内容