A Technique for Just-in-Time Clone Detection in Large Scale Systems

Abstract

Existing clone tracking tools have limited support for sharing clone information between developers in a large scale system. Developers are not notified when new clones are introduced by other developers or when existing clones are modified. We propose a client-server architecture that centrally detects and maintains clone information for an entire software system stored in a version control system. Clients retrieve a list of clones relevant to the code they are working on from the server. Whenever an update is committed to the version control system, the server detects and incrementally updates clone information. We propose techniques to improve the speed of the incremental clone detection. In order to reduce the number of comparisons required for clone detection, we select representative clones from the existing clone list. We build a string-based technique to compare the newly committed code with the representative clones and to update the clone list. In a case study, we show that our approach significantly reduces the clone detection time, while supporting clone detection across the entire software system.

DOI: 10.1109/ICPC.2010.13

4 Figures and Tables

Cite this paper

@inproceedings{Barbour2010ATF, title={A Technique for Just-in-Time Clone Detection in Large Scale Systems}, author={Liliane Barbour and Hao Yuan and Ying Zou}, booktitle={ICPC}, year={2010} }