ACM Home Page
Please provide us with feedback. Feedback
Automatically generating refactorings to support API evolution
Full text PdfPdf (68 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Lisbon, Portugal
SESSION: Reverse engineering and symbolic execution table of contents
Pages: 111 - 114  
Year of Publication: 2005
ISBN:1-59593-239-9
Also published in ...
Author
Jeff H. Perkins  Massachusetts Institute of Technology, Cambridge MA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 49,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1108792.1108818
What is a DOI?

ABSTRACT

When library APIs change, client code should change in response, in order to avoid erroneous behavior, compilation failures, or warnings. Previous research has introduced techniques for generating such client refactorings. This paper improves on the previous work by proposing a novel, lightweight technique that takes advantage of information that programmers can insert in the code rather than forcing them to use a different tool to re-express it. The key idea is to replace calls to deprecated methods by their bodies, where those bodies consist of the appropriate replacement code. This approach has several benefits. It requires no change in library development practice, since programmers already adjust method bodies and/or write example code, and there are no new tools or languages to learn. It does not require distribution of new artifacts, and a tool to apply it can be lightweight. We evaluated the applicability of our approach on a number of libraries and found it to to be applicable in more than 75% of the cases.


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
R. Balzer, J. T. E. Cheatham, and C. Green. Software technology in the 1990's: Using a new paradigm. Computer, 16(11):39--45, Nov. 1983.
 
2
B. W. Boehm. Industrial software metrics top 10 list. IEEE Software, 4(5):84--85, Sept. 1987.
 
3
Borland. Making development a team sport. demo at JavaOne, June 29, 2004.
 
4
 
5
 
6
W. G. Griswold. Program restructuring to aid software maintenance. Technical Report 91-08-04, U. Wash. Dept. of Comp. Sci. & Eng., Seattle, WA, USA, Aug. 1991. PhD dissertation.
7
 
8
 
9
 
10
W. F. Opdyke. Refactoring: A program restructuring aid in designing object-oriented applications frameworks. Technical Report 1759, University of Illinois at Urbana-Champaign, Dept. of Computer Science, 1992. PhD dissertation.
 
11
T. J. Parr. An overview of SORCERER: A simple tree-parser generator. In Compiler Construction '94, Apr. 1994.
 
12
L. H. Putnam. A general empirical solution to the macro software sizing and estimating problem. IEEE TSE, 4(4):345--361, July 1978.