Skip to main content

Compositional Refactoring

Compositional Refactoring Tool

We implemented a refactoring tool that implements the compositional paradigm of refactoring as an Eclipse plug-in.



To use our plug-in you should install Eclipse Juno. You can download Eclipse Juno from

Installation from the Update Site

To install the plug-in from its update site, go to "Help > Install New Software ...". Next, add the repository at location Then, select the feature and follow the installation wizard.

Installation from the Eclipse Marketplace

Our plug-in is available at the Eclipse Marketplace: Follow the instructions at to install our plug-in from the Eclipse Marketplace.

Source Code

Our Eclipse plug-in is open source. The source code is on GitHub.


We have prepared a video recording to demo the use of our Eclipse plug-in for performing an Extract Superclass refactoring. The refactoring task shown in this video is part of the task that we used in our lab study.


The tool demonstrates the compositional paradigm by supporting the following refactorings:

  1. Extract Superclass
  2. Extract Interface
  3. Pull Up
  4. Push Down
  5. Introduce Parameter
  6. Move Type to New File

See the wiki page at for more details on the features provided by our plug-in.

Eclipse Foundation Data Set

Distributions of refactoring invocations, refactoring kinds, and users

Frequent Refactoring Sets

Illinois Data Set

Our privacy agreement with the participants prevents us from releasing the collected raw data. However, we share the results of our analyses on this data set.

Frequent Refactoring Sets

Frequent refactoring sets of the Illinois data set

Refactoring Composition Pattern

Refactoring composition patterns of the Illinois data set: This spreadsheet lists the refactoring composition patterns that we extracted from the Illinois data set.

Survey Study

Lab Study