This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Clone Management for Evolving Software
Sept.-Oct. 2012 (vol. 38 no. 5)
pp. 1008-1026
Hoan Anh Nguyen, Iowa State University, Ames
Tung Thanh Nguyen, Iowa State University, Ames
Nam H. Pham, Iowa State University, Ames
Jafar Al-Kofahi, Iowa State University, Ames
Tien N. Nguyen, Iowa State University, Ames
Recent research results suggest a need for code clone management. In this paper, we introduce JSync, a novel clone management tool. JSync provides two main functions to support developers in being aware of the clone relation among code fragments as software systems evolve and in making consistent changes as they create or modify cloned code. JSync represents source code and clones as (sub)trees in Abstract Syntax Trees, measures code similarity based on structural characteristic vectors, and describes code changes as tree editing scripts. The key techniques of JSync include the algorithms to compute tree editing scripts, to detect and update code clones and their groups, to analyze the changes of cloned code to validate their consistency, and to recommend relevant clone synchronization and merging. Our empirical study on several real-world systems shows that JSync is efficient and accurate in clone detection and updating, and provides the correct detection of the defects resulting from inconsistent changes to clones and the correct recommendations for change propagation across cloned code.
Index Terms:
Cloning,Feature extraction,Software systems,Synchronization,Vegetation,Merging,Databases,clone merging,Clone management,clone consistency analysis,clone synchronization
Citation:
Hoan Anh Nguyen, Tung Thanh Nguyen, Nam H. Pham, Jafar Al-Kofahi, Tien N. Nguyen, "Clone Management for Evolving Software," IEEE Transactions on Software Engineering, vol. 38, no. 5, pp. 1008-1026, Sept.-Oct. 2012, doi:10.1109/TSE.2011.90
Usage of this product signifies your acceptance of the Terms of Use.