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 条
[1]  
Agapitos A., 2011, STATE FUL PROGRAM RE, P199
[2]  
[Anonymous], 2007, P 6 JOINT M EUR SOFT
[3]   Software Architecture Degradation in Open Source Software: A Systematic Literature Review [J].
Baabad, Ahmed ;
Zulzalil, Hazura Binti ;
Hassan, Sa'adah ;
Baharom, Salmi Binti .
IEEE ACCESS, 2020, 8 :173681-173709
[4]   SOFTWARE COMPLEXITY AND MAINTENANCE COSTS [J].
BANKER, RD ;
DATAR, SM ;
KEMERER, CF ;
ZWEIG, D .
COMMUNICATIONS OF THE ACM, 1993, 36 (11) :81-94
[5]   Clone detection using abstract syntax trees [J].
Baxter, ID ;
Yahin, A ;
Moura, L ;
Sant'Anna, M ;
Bier, L .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, :368-377
[6]   Comparison and evaluation of clone detection tools [J].
Bellon, Stefan ;
Koschke, Rainer ;
Antoniol, Giuliano ;
Krinke, Jens ;
Merlo, Ettore .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (09) :577-591
[7]  
Büch L, 2019, 2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), P95, DOI [10.1109/saner.2019.8668039, 10.1109/SANER.2019.8668039]
[8]  
Doig C., 2015, CALCULATING TOTAL CO
[9]  
Fowler Martin, 2002, Patterns of Enterprise Application Architecture, V1
[10]   Integration of Distributed Enterprise Applications: A Survey [J].
He, Wu ;
Xu, Li Da .
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2014, 10 (01) :35-42