UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Using Compilation/Decompilation to Enhance Clone Detection

Ragkhitwetsagul, C; Krinke, J; (2017) Using Compilation/Decompilation to Enhance Clone Detection. In: Proceedings of the 2017 IEEE 11th International Workshop on Software Clones (IWSC). (pp. pp. 8-14). IEEE: Klagenfurt, Austria. Green open access

[thumbnail of iwsc2017.pdf]
Preview
Text
iwsc2017.pdf - Published Version

Download (156kB) | Preview

Abstract

We study effects of compilation and decompilation to code clone detection in Java. Compilation/decompilation canonicalise syntactic changes made to source code and can be used as source code normalisation. We used NiCad to detect clones before and after decompilation in three open source software systems, JUnit, JFreeChart, and Tomcat. We filtered and compared the clones in the original and decompiled clone set and found that 1,201 clone pairs (78.7%) are common between the two sets while 326 pairs (21.3%) are only in one of the sets. A manual investigation identified 325 out of the 326 pairs as true clones. The 252 original-only clone pairs contain a single false positive while the 74 decompiled-only clone pairs are all true positives. Many clones in the original source code that are detected only after decompilation are type-3 clones that are difficult to detect due to added or deleted statements, keywords, package names; flipped if-else statements; or changed loops. We suggest to use decompilation as normalisation to compliment clone detection. By combining clones found before and after decompilation, one can achieve higher recall without losing precision.

Type: Proceedings paper
Title: Using Compilation/Decompilation to Enhance Clone Detection
Event: 2017 IEEE 11th International Workshop on Software Clones (IWSC)
Location: Klagenfurt, Austria
Dates: 21 February 2017 - 21 February 2017
Open access status: An open access version is available from UCL Discovery
DOI: 10.1109/IWSC.2017.7880502
Publisher version: http://dx.doi.org/10.1109/IWSC.2017.7880502
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Cloning, Java, Detectors, Software systems, Manuals, Open source software
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/1541477
Downloads since deposit
0Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item