OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Refactoring: To the Rubicon...and Beyond!"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 


 : Tuesday Demonstrations : All Demonstrations : Tuesday

Refactoring: To the Rubicon...and Beyond!

Courtyard, Demo room 1
Tuesday, 10:30, 45 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

This event is also being given Thursday at 11:30.

Roly Perera, Ergnosis Ltd.
Russ Freeman, Ergnosis Ltd.
Phil Webb, Ergnosis Ltd.

Demonstration number: 1

Software development involves a continual process of refactoring to accommodate new features and considate existing functionality. Without this ongoing maintenance effort, entropy rapidly takes hold and delivering further features or bug-fixes becomes increasingly difficult.

Interest in software refactoring and tools for automating or assisting with this activity has been growing steadily over the last decade, thanks to the influential efforts of Roberts and Brant, Opdyke, Fowler and others. However the refactorings which have been discussed to date, such as Extract Method, are in desperate need of decomposition into more primitive, but more widely applicable refactorings, such as Push Code Into Method.

We will demonstrate this new approach to refactoring through a powerful new tool which supports these refactoring primitives directly. By understanding all refactorings as the introduction or elimination of degrees of freedom we can see how a large proportion of programming edits are in fact micro-refactorings, and gain an insight into how tools that support these micro-refactorings will have a dramatic impact on developer productivity.