W. Korman, W. G. Griswold, ``Elbereth: Tool Support for Refactoring Java Programs'', Technical Report CS98-576, Department of Computer Science and Engineering, University of California, San Diego, April 1998. [also: compressed postscript]


As object-oriented software is modified its structure tends to degrade. The potentially large number of classes and the large number of dependencies between them can complicate the analysis and planning needed to maintain a program written in an object-oriented language.

Restructuring software to improve its design can lower the cost of future changes. To ease the task of software restructuring, we describe the application of the star diagram concept to Java programs. The star diagram visualization affords programmers a cross-cutting view of the project source code that can simplify software maintenance tasks by allowing the programmer to rapidly assess complicated class hierarchies and complex class interrelationships. The recording of detailed refactoring tasks to be performed, accompanied by relevant portions of star diagrams for the source code undergoing modification, provides the programmer with a visualization of the work that assists in recall and execution of the software restructuring.