Conference Proceeding Article
To attract more users on different platforms, many projects release their versions in multiple programming languages (e.g., Java and C#). They typically have many code snippets that implement similar functionalities, i.e., cross-language clones. Programmers often need to track and modify cross-language clones consistently to maintain similar functionalities across different language implementations. In literature, researchers have proposed approaches to detect cross-language clones, mostly for languages that share a common intermediate language (such as the .NET language family) so that techniques for detecting single-language clones can be applied. As a result, those approaches cannot detect cross-language clones for many projects that are not implemented in a .NET language. To overcome the limitation, in this paper, we propose a novel approach, CLCMiner, that detects cross-language clones automatically without the need of an intermediate language. Our approach mines such clones from revision histories, which reflect how programmers maintain cross-language clones in practice. We have implemented a prototype tool for our approach and conducted an evaluation on five open source projects that have versions in Java and C#. The results show that CLCMiner achieves high accuracy and point to promising future work.
Software revision history, Cross-language clone, Diff, Java, C# languages
Programming Languages and Compilers | Software Engineering
Software and Cyber-Physical Systems
ASE 2016: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering: Singapore, 2016 September 3-7
City or Country
JIANG, Lingxiao; PENG, Zhiming; JIANG, Lingxiao; ZHONG, Hao; YU, Haibo; and ZHAO, Jianjun.
Mining revision histories to detect cross-language clones without intermediates. (2016). ASE 2016: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering: Singapore, 2016 September 3-7. 696-701. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/3438
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.