Elbereth: Tool Support for Refactoring Java Programs
نویسندگان
چکیده
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. Research submission.
منابع مشابه
Composite Refactorings for Java Programs
There has been much interest in refactoring recently, but little work has been done on tool support for refactoring or on demonstrating that a refactoring does indeed preserve program behaviour. We propose a method for developing composite refactorings for Java programs in such a way that a rigorous demonstration of behaviour preservation is possible.
متن کاملOwnership Domains in the Real World
The Ownership Domains type system has had publicly available tool support for a few years. However, the previous implementation used non-backwards compatible language extensions to Java and ran on a research infrastructure, which made it difficult to conduct substantial case studies on interesting systems. We first present a re-implementation of ownership domains using Java 1.5 annotations and ...
متن کاملTransforming Object-Oriented Programs into Structurally Reusable Components for Generative Reuse
We propose a technique for transforming part of the object-oriented programs into structurally reusable components by our new refactoring “Extract Component” to realize the generative reuse of the existing programs. Our refactoring can identify and extract components composed of classes from existing OO programs, and modify the surrounding parts of extracted components in original programs. We ...
متن کاملRefactoring Java Programs using Spoon
TTC’2015 is the 8th Transformation Tool Contest for users and developers of transformation tools. In this paper, we present the use of Spoon, an open-source library to transform and analyze Java source code for the code refactoring track of TTC’2015. We use Spoon to implement pull-up-method and create super-class refactorings. The implementation uses an unmodified revision of Spoon and is done ...
متن کاملEnhanced semi-Automated Refactoring Engine with Behavioral testing
Refactoring is a transformation that preserves the external behavior of a program and improves its internal quality. Usually, compilation errors and behavioral changes are avoided by preconditions determined for each refactoring transformation. However, to formally define these preconditions and transfer them to program checks is a rather complex task. In practice, refactoring engine developers...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998