Clone Tracking for the Eclipse IDE

CopyPasteChange (CPC) is an open source plug-in for the Eclipse IDE which tracks the copy and paste activities of a developer and the resulting duplications in the source code of a software application (clones). Aside of increasing the general awareness of clones in the application one of the main long term goals of CPC is the detection of update anomalies. Update anomalies occur if a duplicated (cloned) source code segment is modified in only one of its locations and if the modification is of a nature which should be propagated to the remaining locations. Typically this happens because the programmer is not aware of the remaining copies of the clone and thus fails to update them.

CPC represents a flexible, scalable framework for future work in the area of copy and paste clone tracking. The currently available version implements only very rudimentary heuristics for the detection of update anomalies and only provides basic clone visualisation features. CPC is an open source project and everybody is encouraged to contribute extensions to improve the functionality of CPC. What we have so far is only a first step.

Another goal of CPC is the collection of data on copy and paste practices of programmers. However, CPC does not transmit any data automatically. Users who are willing to contribute to our research efforts have to manually send us the corresponding data.

Features

  1. Tracking of all your copy and paste actions and the resulting clones.
  2. Clone visualisation: CPC will highlight clones with small color bars at the side of your editor.
  3. Resilliance to external file modifications, while external modifications are discouraged CPC will be able to recover from them in many cases.
  4. Data Import/Export: CPC can interface with static clone detectors to 'jump start' its clone database.
  5. Data Collection: CPC can collect valuable data for copy and paste clone research.
...

Screenshots

more screenshots

Update Site / Installation

The latest version of CPC is always available via the CPC Update Site under:
http://cpc.anetwork.de/update

To install CPC start Eclipse and open the Install/Update dialog via Help -> Software Updates -> Find and Install. Then select Search for new features to install and click New Remote Site. Now you can enter CPC Update Site under name and http://cpc.anetwork.de/update under url.
You can now install CPC components from this Update Site.

Requirements

  1. Java 1.5 runtime environment
  2. CPC currently only tracks clones within Java source files
  3. Remote synchronisation of clone data within development teams is still experimental and is not included in the binary release of CPC available here.

Contact

If you have questions about CPC or have some suggestions for future improvements, please feel free to send me an email to weckerle on anetwork de.

I'd also be very interested in knowing where CPC is used. So if you are using CPC, drop me a line :)

CPC Update Site:
cpc.anetwork.de/update
1.0.2 2008-02-23