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:
- Extract Superclass
- Extract Interface
- Pull Up
- Push Down
- Introduce Parameter
- 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
- Number of invocations and users of each kind of refactoring: This spreadsheet reports the number of users and total invocations of each refactoring kind.
- Number of refactoring invocations and number of users: This spreadsheet reports the number of users that have invoked the refactoring tool for the same number of times.
- Number of kinds of refactorings and number of users: This spreadsheet reports the number of users that have invoked the same number of kinds of refactorings.
Frequent Refactoring Sets
- Frequent refactoring sets of all users of the Eclipse foundation's data set
- Frequent refactoring sets of active users of the Eclipse foundation's data set
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
- Survey: The online survey, which was distributed to programmers.
- Results of the survey study: This spreadsheet contains the results of the survey study.
Lab Study
- Lab study instructions: This file contains the prequestionnaire, task procedures, and the postquestionnaire that we presented to the participants of the lab study.
- The source code of the HTMLParser project that the participants refactored during the lab study.
- Results of the lab study: This spreadsheet summarizes the results of the lab study.