STUBBER: Compiling Source Code into Bytecode without Dependencies for Java']Java Code Clone Detection

被引:10
作者
Schafer, Andre [1 ]
Amme, Wolfram [1 ]
Heinze, Thomas S. [2 ]
机构
[1] Friedrich Schiller Univ Jena, Inst Comp Sci, Jena, Germany
[2] German Aerosp Ctr DLR, Inst Data Sci, Jena, Germany
来源
2021 IEEE 15TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES, IWSC 2021 | 2021年
关键词
Bytecode; BigCloneBench; code clone; clone detection; compilation;
D O I
10.1109/IWSC53727.2021.00011
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A lot of clone detection tools for Java have been introduced in recent years. On the one hand, many of these tools work on Java source code and can thus be conveniently evaluated with the state-of-the-art benchmark BigCloneBench and evaluation framework BigCloneEval. On the other hand, certain clone detectors deliberately address the Bytecode and cannot be applied to Java source code. Simple compilation often does not solve the problem due to missing required dependencies, as, e.g., in case of BigCloneBench. In this work, we therefore present the tool STUBBER for compiling Java source code into Bytecode without dependencies. We can show that using STUBBER, Bytecode for over 95% of all Java source files and 92.5% of all code clones contained in BigCloneBench can be successfully generated. As a consequence, the evaluation of Bytecode-based clone detectors on BigCloneBench becomes possible and such tools can also be applied to Java source files, even beyond BigCloneBench.
引用
收藏
页码:29 / 35
页数:7
相关论文
共 37 条
[1]   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
[2]   The MalSource Dataset: Quantifying Complexity and Code Reuse in Malware Development [J].
Calleja, Alejandro ;
Tapiador, Juan ;
Caballero, Juan .
IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2019, 14 (12) :3175-3190
[3]   Detecting Android Malware Using Clone Detection [J].
Chen, Jian ;
Alalfi, Manar H. ;
Dean, Thomas R. ;
Zou, Ying .
JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2015, 30 (05) :942-956
[4]   The NiCad Clone Detector [J].
Cordy, James R. ;
Roy, Chanchal K. .
2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, :219-+
[5]   SootDiff Bytecode Comparison across Different Java']Java Compilers [J].
Dann, Andreas ;
Hermann, Ben ;
Bodden, Eric .
SOAP'19: PROCEEDINGS OF THE 8TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON STATE OF THE ART IN PROGRAM ANALYSIS, 2019, :14-19
[6]   Clone Management for Evolving Software [J].
Hoan Anh Nguyen ;
Tung Thanh Nguyen ;
Pham, Nam H. ;
Al-Kofahi, Jafar ;
Nguyen, Tien N. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (05) :1008-1026
[7]  
Jiang LX, 2007, PROC INT CONF SOFTW, P96
[8]   Do Code Clones Matter? [J].
Juergens, Elmar ;
Deissenboeck, Florian ;
Hummel, Benjamin ;
Wagner, Stefan .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :485-495
[9]  
Kapser C, 2006, WORK CONF REVERSE EN, P19
[10]  
Keivanloo I., 2012, 2012 IEEE 20th International Conference on Program Comprehension, P277