Second ACM Workshop on Refactoring Tools (WRT'08)

ACM logo

in conjunction with
October 19-23, 2008
Nashville, Tennessee


- Submission deadline for position papers: July 27th, 2008, 23:59 Apia-Samoa Time.
- Notification of acceptance: September 8th 9th, 2008.
- Workshop date: Sunday, Oct 19th, 2008, room 209, 8:30AM - 5:30PM


Refactoring is the process of applying behavior-preserving transformations to a program with the objective of improving the program's design. A specific refactoring is identified by a name (e.g., Extract Method), a set of preconditions, and a set of specific transformations that need to be performed. Tool support for refactoring is highly desirable because checking the preconditions for a given refactoring often requires nontrivial program analysis, and applying the transformations may affect many locations throughout a program. In the past few years, most of the popular IDEs have begun to support refactoring, and automated refactoring has moved from research to practice. Until now, there has not been a suitable forum for discussions among researchers and developers of such tools. We invite developers and researchers in the field of refactoring to submit presentations and demonstration proposals about practical refactoring tools.


There is a great deal of interest in the development of tool support for refactoring. However, researchers and tool vendors rarely work together. This forum will facilitate the transfer of ideas and expertise in both directions: researchers can show the state-of-the-art analyses they are developing for refactoring tools, while tool vendors can offer valuable insights on the many challenges of applying such analyses to realistic applications in realistic settings. By bringing researchers and tool vendors together, we can shorten the time to incorporate ideas into production systems. In addition, by making researchers aware of what others are working on, the potential for reinventing the wheel can be greatly reduced while enhancing the potential for creative collaboration. This workshop is the next step in our ongoing effort to to create such a community, and builds on our successful refactoring workshop at ECOOP 2007, and on our refactoring research web portal ( In particular, it builds on themes of common interest that surfaced during the workshop at ECOOP 2007.

Potential topics are those related to refactoring tools including, but
not restricted to:


We have an exciting program with talks and demos from industry leaders such as JetBrains, Microsoft, and Joshua Kerievsky. In addition, we have leading researchers talking on topics such as refactorings for concurrency, modularity, cross-language, program analysis, and many more.

The workshop is open for public, as long as we have enough seats for all the registered participants.

You can see a preview of the papers accepted at WRT by following the Wiki link.

A tentative program is below.

Start Time
Session 1: Opening and short introductions. Industry reports.
8:30 am
Opening: Danny and Bob

1-minute introductions from the audience

Implementing Refactorings in IntellijIdea
by Dmitry Jemerov (JetBrains)

Designing Refactoring Tools for Developers
by Dustin Campbell (Microsoft) and Mark Miller (Developer Express)

Morning break (tea, etc.)

Session 2: Technical Presentations
Refactoring is not (yet) about transformation
by Torbjrn Ekman, Max Schfer and Mathieu Verbaere (Oxford University)

Generating rewritable Abstract Syntax Trees
by Jeff Overbey and Ralph Johnson (UIUC)

When Refactoring Acts like Modularity
by Macneil Shonle, William Griswold and Sorin Lerner (UC San Diego)

Gathering Refactoring Data
by Emerson Murphy-Hill, Andrew Black (Portland State University), Danny Dig (MIT), and Chris Parnin (Georgia Tech)

Lunch Break
12:10 pm

Session 3: Refactoring Engine Usage (Demo) and Refactoring for Concurrency
Analyzing Tool Usage
by Joshua Kerievsky, Industrial Logic

Refactoring Code to Use Concurrent Library Utilities
by Danny Dig, John Marrero and Michael Ernst (MIT)

Refactoring a Language for Parallel Computational Chemistry
by Beverly Sanders, Erik Deumens, Victor Lotrich and Mark Ponton (University of Florida)

Poster Session and Coffee Break 14:40
  • Toward Refactoring in a Polyglot World
by Nicholas Chen and Ralph Johnson (UIUC)
  • Cross Language Refactoring for Eclipse Plugins
by Michael Klenk, Martin Kempf, Reto Kleeb, Peter Sommerlad (Institute for Software at HSR Rapperswil)
  • Re-Approaching the Refactoring Rubicon
by Aharon Abadi, Ran Ettinger and Yishai Feldman (IBM Haifa Research Lab)
  • A security-oriented program transformation
by Munawar Hafiz and Ralph Johnson (UIUC)
  • Towards a Refactoring Guideline Using Code Clone Classification
by Sandro Schulze, Martin Kuhlemann, and  Marko Rosenmueller (Univ. of Magdenburg)
  • Tool Support for Refactoring Functional Programs
by Huiqing Li and Simon Thompson  (Univ. of Kent)

Small Groups Session

Retrospective and Closing


We solicit short 4-page position papers. Prospective attendees are invited to explain their interest in refactoring tools, and include a brief description of the system that they intend to present. We also encourage developers of widely used refactoring tools (e.g., Eclipse, NetBeans, IntelliJ, Visual Studio) to submit a demonstration proposal about their systems. Based on submissions, the schedule will include a mix of system demonstrations, short presentations, and informal discussions. Proceedings will appear in the ACM Digital Library.

Submissions must not exceed 4 pages, in the ACM SIGPLAN 10 point format.
Templates for Word and LaTeX are available at





Call For Papers

The Call for Papers in TXT format. Please distribute to interested colleagues or mailing lists.

Page maintained by Danny Dig. Last modified on Oct 13th, 2008.