Semantic Code Clone Detection Method for Distributed Enterprise Systems

被引:2
作者
Svacina, Jan [1 ]
Bushong, Vincent [1 ]
Das, Dipta [1 ]
Cerny, Tomas [1 ]
机构
[1] Baylor Univ, Comp Sci, One Bear Pl, Waco, TX 76798 USA
来源
PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND SERVICES SCIENCE (CLOSER) | 2022年
基金
美国国家科学基金会;
关键词
Source Code Analysis; Code Clone Detection; Semantic Clone; Enterprise Applications; Code Smells; SOFTWARE;
D O I
10.5220/0011032200003200
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Conventional approaches to code clone detection consider systems from elementary construct perspectives, making it difficult to detect semantic clones. This paper argues that semantic clone detection could be improved for enterprise systems since they typically use well-established architectures and standards. Semantic clone detection is crucial for enterprises where software's codebase grows and evolves and maintenance costs rise significantly. While researchers have proposed many code clone detection techniques, there is a lack of solutions targeted explicitly toward enterprise systems and even fewer solutions dedicated to semantic clones. Semantic clones exhibit the same behavior between clone pairs but differ in the syntactic structure. This paper proposes a novel approach to detect semantic clones for enterprise frameworks. The driving idea is to transform a particular enterprise application into a control-flow graph representation. Next, various proprietary similarity functions are applied to compare targeted enterprise metadata for each pair of the control-flow graph fragment. As a result, we achieve to detect semantic clones with high accuracy and reasonable time complexity.
引用
收藏
页码:27 / 37
页数:11
相关论文
共 36 条
[31]   Deep Learning Code Fragments for Code Clone Detection [J].
White, Martin ;
Tufano, Michele ;
Vendome, Christopher ;
Poshyvanyk, Denys .
2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, :87-98
[32]   Neural Detection of Semantic Code Clones via Tree-Based Convolution [J].
Yu, Hao ;
Lam, Wing ;
Chen, Long ;
Li, Ge ;
Xie, Tao ;
Wang, Qianxiang .
2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, :70-80
[33]  
Zhou X., 2018, IEEE T SOFTWARE ENG, P1
[34]   Latent Error Prediction and Fault Localization for Microservice Applications by Learning from System Trace Logs [J].
Zhou, Xiang ;
Peng, Xin ;
Xie, Tao ;
Sun, Jun ;
Ji, Chao ;
Liu, Dewei ;
Xiang, Qilin ;
He, Chuan .
ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, :683-694
[35]   Delta Debugging Microservice Systems [J].
Zhou, Xiang ;
Peng, Xin ;
Xie, Tao ;
Sun, Jun ;
Li, Wenhai ;
Ji, Chao ;
Ding, Dan .
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, :802-807
[36]   Benchmarking Microservice Systems for Software Engineering Research [J].
Zhou, Xiang ;
Peng, Xin ;
Xie, Tao ;
Sun, Jun ;
Xu, Chenjie ;
Ji, Chao ;
Zhao, Wenyun .
PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, :323-324