ACM Home Page
Please provide us with feedback. Feedback
Refactoring support for class library migration
Full text PdfPdf (310 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
San Diego, CA, USA
SESSION: Adaptation adapted table of contents
Pages: 265 - 279  
Year of Publication: 2005
ISBN:1-59593-031-0
Also published in ...
Authors
Ittai Balaban  New York University, New York, NY
Frank Tip  IBM T.J. Watson Research Center, Yorktown Heights, NY
Robert Fuhrer  IBM T.J. Watson Research Center, Yorktown Heights, NY
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 68,   Citation Count: 21
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/1094811.1094832
What is a DOI?

ABSTRACT

As object-oriented class libraries evolve, classes are occasionally deprecated in favor of others with roughly the same functionality. In Java's standard libraries, for example, class Hashtable has been superseded by HashMap, and Iterator is now preferred over Enumeration. Migrating client applications to use the new idioms is often desirable, but making the required changes to declarations and allocation sites can be quite labor-intensive. Moreover, migration becomes complicated---and sometimes impossible---if an application interacts with external components, if a legacy class is not completely equivalent to its replacement, or if multiple interdependent classes must be migrated simultaneously. We present an approach in which mappings between legacy classes and their replacements are specified by the programmer. Then, an analysis based on type constraints determines where declarations and allocation sites can be updated. The method was implemented in Eclipse, and evaluated on a number of Java applications. On average, our tool could migrate more than 90% of the references to legacy classes.


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
 
2
Bäumer, D., Gamma, E., and Kieżun, A. Integrating refactoring support into a Java development tool. In OOPSLA'01 Companion (October 2001).
 
3
 
4
Bracha, G., Cohen, N., Kemper, C., Odersky, M., Stoutamire, D., Thorup, K., and Wadler, P. Adding generics to the Java programming language: Public draft specification, version 2.0. Tech. rep., Java Community Process JSR-000014, June 23 2003.
 
5
6
 
7
 
8
Dig, D., and Johnson, R. The role of refactorings in API evolution. Tech. Rep. UIUCDCS-R-2005-2555, University of Illinois at Urbana-Champaign, 2005.
 
9
10
11
12
 
13
 
14
Fuhrer, R., Tip, F., Kiezun, A., Dolby, J., and Keller, M. Efficiently refactoring Java applications to use generic libraries. In Proc. ECOOP'05 (Glasgow, Scotland, 2005). To appear.
 
15
 
16
17
18
 
19
 
20
 
21
 
22
 
23
24
 
25
 
26
27
 
28
Ryder, B. G. Dimensions of precision in reference analysis of object-oriented programming languages. In Proc. CC 2003 (Warsaw, Poland, April 2003), pp. 126--137.
 
29
 
30
Sutter, B. D., Tip, F., and Dolby, J. Customization of Java library classes using type constraints and profile information. In Proc. ECOOP'04 (Oslo, Norway, June 2004), pp. 585--609.
31
32
33

CITED BY  21

Collaborative Colleagues:
Ittai Balaban: colleagues
Frank Tip: colleagues
Robert Fuhrer: colleagues