4.6 Article

Clone Management for Evolving Software

Journal

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Volume 38, Issue 5, Pages 1008-1026

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2011.90

Keywords

Clone management; clone consistency analysis; clone synchronization; clone merging

Funding

  1. Vietnam Education Foundation (VEF)
  2. Division of Computing and Communication Foundations
  3. Direct For Computer & Info Scie & Enginr [1018600] Funding Source: National Science Foundation

Ask authors/readers for more resources

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.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

A Graph-based Approach to API Usage Adaptation

Hoan Anh Nguyen, Tung Thanh Nguyen, Gary Wilson, Anh Tuan Nguyen, Miryung Kim, Tien N. Nguyen

ACM SIGPLAN NOTICES (2010)

Proceedings Paper Computer Science, Software Engineering

Migrating Code with Statistical Machine Translation

Anh Tuan Nguyen, Tung Thanh Nguyen, Tien N. Nguyen

36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014) (2014)

Proceedings Paper Computer Science, Software Engineering

Statistical Learning of API Mappings for Language Migration

Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, Tien N. Nguyen

36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014) (2014)

Proceedings Paper Computer Science, Software Engineering

Output-oriented Refactoring in PHP-based Dynamic Web Applications

Hoan Anh Nguyen, Hung Viet Nguyen, Tung Thanh Nguyen, Tien N. Nguyen

2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM) (2013)

Proceedings Paper Computer Science, Software Engineering

Database-aware Fault Localization for Dynamic Web Applications

Hung Viet Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, Tien N. Nguyen

2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM) (2013)

Proceedings Paper Computer Science, Software Engineering

Graph-Based Pattern-Oriented, Context-Sensitive Source Code Completion

Anh Tuan Nguyen, Tung Thanh Nguyen, Hoan Anh Nguyen, Ahmed Tamrawi, Hung Viet Nguyen, Jafar Al-Kofahi, Tien N. Nguyen

2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) (2012)

Proceedings Paper Computer Science, Software Engineering

Inferring Developer Expertise through Defect Analysis

Tung Thanh Nguyen, Tien N. Nguyen, Evelyn Duesterwald, Tim Klinger, Peter Santhanam

2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) (2012)

Proceedings Paper Computer Science, Software Engineering

Aspect Recommendation for Evolving Software

Tung Thanh Nguyen, Hung Viet Nguyen, Hoan Anh Nguyen, Tien N. Nguyen

2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) (2011)

No Data Available