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.

Installation

Prerequisites

To use our plug-in you should install Eclipse Juno. You can download Eclipse Juno from http://www.eclipse.org/juno/.

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 http://codingspectator.cs.illinois.edu/composite-refactorings-updates/. Then, select the feature and follow the installation wizard.

Installation from the Eclipse Marketplace

Our plug-in is available at the Eclipse Marketplace: https://marketplace.eclipse.org/node/653033. Follow the instructions at http://marketplace.eclipse.org/marketplace-client-intro to install our plug-in from the Eclipse Marketplace.

Source Code

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

Demo

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.

Features

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 https://github.com/reprogrammer/composite-refactorings/wiki/Composite-Refactorings 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