• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

DMCA

Refactoring Object-Oriented Frameworks (1992)

Cached

  • Download as a PDF

Download Links

  • [st.cs.uiuc.edu]
  • [www-public.it-sudparis.eu]
  • [www.laputan.org]
  • [www.laputan.org]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by William F. Opdyke
Citations:486 - 4 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@TECHREPORT{Opdyke92refactoringobject-oriented,
    author = {William F. Opdyke},
    title = {Refactoring Object-Oriented Frameworks},
    institution = {},
    year = {1992}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

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.

Keyphrases

object-oriented framework    inheritance hierarchy    behavior preserving    class invariant    object-oriented application framework    exclusive component    primitive part    conservative algorithm    design constraint    complex refactorings    design information    program restructuring operation   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University