ACM Home Page
Please provide us with feedback. Feedback
Refactoring for generalization using type constraints
Full text PdfPdf (423 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications table of contents
Anaheim, California, USA
SESSION: Refactoring and reflection table of contents
Pages: 13 - 26  
Year of Publication: 2003
ISBN:1-58113-712-5
Also published in ...
Authors
Frank Tip  IBM T.J. Watson Research Center, Yorktown Heights, NY
Adam Kiezun  MIT, Cambridge, MA
Dirk Bäumer  IBM Research OTI Labs, Zürich, Switzerland
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 65,   Citation Count: 25
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/949305.949308
What is a DOI?

ABSTRACT

Refactoring is the process of applying behavior-preserving transformations (called "refactorings") in order to improve a program's design. Associated with a refactoring is a set of preconditions that must be satisfied to guarantee that program behavior is preserved, and a set of source code modifications. An important category of refactorings is concerned with generalization (e.g., Extract Interface for re-routing the access to a class via a newly created interface, and Pull Up Members for moving members into a superclass). For these refactorings, both the preconditions and the set of allowable source code modifications depend on interprocedural relationships between types of variables. We present an approach in which type constraints are used to verify the preconditions and to determine the allowable source code modifications for a number of generalization-related refactorings. This work is implemented in the standard distribution of Eclipse (see www.eclipse.org).


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Bäumer, D., Gamma, E., and Kiezun, A. Integrating refactoring support into a Java development tool. In OOPSLA'01 Companion (October 2001).
 
2
 
3
Carlos, C. S. The elimination of overheads due to type annotations and the identification of candidate refactorings. Master's thesis, North Carolina State University, 2002.
4
 
5
Eclipse.org. Eclipse. On-line at www.eclipse.org.
 
6
 
7
 
8
 
9
 
10
 
11
Halloran, T. J., and Scherlis, W. L. Models of Thumb: Assuring best practice source code in large Java software systems. Tech. Rep. Fluid Project, School of Computer Science/ISRI, Carnegie Mellon University, Sept. 2002.
 
12
JetBrains, Inc. IntelliJ Idea. On-line at www.intellij.com.
 
13
14
 
15
 
16
 
17
18
19
20
 
21
 
22

CITED BY  25

Collaborative Colleagues:
Frank Tip: colleagues
Adam Kiezun: colleagues
Dirk Bäumer: colleagues