Files in this item



application/pdf9305645.pdf (8MB)Restricted to U of Illinois
(no description provided)PDF


Title:Refactoring Object-Oriented Frameworks
Author(s):Opdyke, William F.
Doctoral Committee Chair(s):Johnson, Ralph E.
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Subject(s):Computer Science
Abstract:This thesis defines a set of program restructuring operations (refactorings) that support the design, evolution and reuse of object-oriented application frameworks.
The focus of the thesis is on automating the refactorings in a way that preserves the behavior of a program. The refactorings are defined to be behavior preserving, provided that their preconditions are met. Most of the refactorings are simple to implement and it is almost trivial to show that they are behavior preserving. However, for a few refactorings, one or more of their preconditions are in general undecidable. Fortunately, for some cases it can be determined whether these refactorings can be applied safely.
Three of the most complex refactorings are defined in detail: generalizing the inheritance hierarchy, specializing the inheritance hierarchy and using aggregations to model the relationships among classes. These operations are decomposed into more primitive parts, and the power of these operations is discussed from the perspectives of automatability and usefulness in supporting design.
Two design constraints needed in refactoring are class invariants and exclusive components. These constraints are needed to ensure that behavior is preserved across some refactorings. This thesis gives some conservative algorithms for determining whether a program satisfies these constraints, and describes how to use this design information to refactor a program.
Issue Date:1992
Description:207 p.
Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1992.
Other Identifier(s):(UMI)AAI9305645
Date Available in IDEALS:2014-12-17
Date Deposited:1992

This item appears in the following Collection(s)

Item Statistics