arrow
Return

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 *
周旭 cover
周旭 (Zhou Xu)
X
Xiapu Luo
DOI:10.1109/TR.2022.3176922delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

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.
Keywords:
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

Journal

IEEE Transactions on Reliability cover
IEEE Transactions on Reliability
IF:
5.7
Papers:
2.8K
Citations:
8.5K

Organization

H
hong kong polytechnic university
Scholars:
3.0W
Papers: 4.1W
Citations: 921
C
Chongqing University
Scholars:
5.1W
Papers: 4.1W
Citations: 6.0W
Cited Papers

Cited Papers

errShare
errSave
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
errShare
errSave
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
errShare
errSave
Choices, Values, and Frames
err
IF0
err2019-02-01
err0
PREAI
err
errShare
errSave
researcher View more