ACM Home Page
Please provide us with feedback. Feedback
Creating abstract superclasses by refactoring
Full text PdfPdf (906 KB)
Source ACM Annual Computer Science Conference archive
Proceedings of the 1993 ACM conference on Computer science table of contents
Indianapolis, Indiana, United States
Pages: 66 - 73  
Year of Publication: 1993
ISBN:0-89791-558-5
Authors
William F. Opdyke  AT&T Bell Laboratories, Naperville, Illinois
Ralph E. Johnson  Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 47,   Citation Count: 17
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/170791.170804
What is a DOI?

ABSTRACT

This paper focuses on object-oriented programming and one kind of structure-improving transformation (refactoring) that is unique to object-oriented programming: finding abstract superclasses. We decompose the operation of finding an abstract superclass into a set of refactoring steps, and provide examples. We discuss techniques that can automate or automatically support these steps. We also consider some of the conditions that must be satisfied to perform a refactoring safely; sometimes to satisfy these conditions other refactorings must first be applied.


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
AT&T. UNIX System V User Reference Manual AT&T, 1984.
2
3
 
4
Carol Sue Beckman-Davies. Finding Program Differences Based on Syntactic Tree Structure. PhD thesis, University of Illinois at Urbana- Champaign, 1989.
5
6
 
7
Eduardo Casals. Reorganizing an Object System, pages 161-189. Centre Universitair d'informatique, Universite de Geneve, 1989.
 
8
N. Dershowitz. Programming by analogy. Machine Learning: An Artificial Intelligence Approach (R.S. Michalski, J. G. Carbonell and 7". M. Mitchell, eds), 2:395-424, 1986.
9
 
10
 
11
 
12
13
 
14
Ralph E. Johnson and Brian Foote. Designing reusable classes. Journal of Object-Oriented Pro- 9ramming, 1(2):22-35, 1988.
 
15
 
16
 
17
 
18
Jeff McKenna. A proposal for change management for smalltalk. Smalltalk Report, 1(5):1-3, 1991.
 
19
 
20
 
21
William F. Opdyke and Ralph E. Johnson. Refaetoring: An aid in designing application frameworks and evolving object-oriented systems. In Proceedings of Symposium on Object- Oriented Programming Emphasizing Practical Applications (SOOPPA), September 1990.
22
 
23
Edward J. Rak. Two redesign tools for Smalltalk. Master's thesis, University of Illinois at Urbana-Champaign, 1990.
 
24
Marc J. Rochkind. The source code control system. IEEE Transactions on Software Engineering, SF_,-1(4):364-370, December 1975.
 
25
Vinee Russo, Gary Johnston, and Roy H. Campbell. Process Management in Multiprocessor Operating Systems using Class Hierarchical Design. In Proceedings of OOPSLA '88, San Diego, Ca., September 1988.
26
 
27
David Sankoff and Joseph B. Kruskal. Macromolecular sequences. In Time Warps, String Edits, and Macromolecules: The Theory and Practice of Sequence Comparison (19. Sankoff and J. Krnskal, eds), pages 45-53, 1983.
28
 
29
30
 
31
Jonathan Zweig and Ralph Johnson. Conduits: A communication abstraction in C++. In Proceedings of the USENIX C-c--t- Workshop, pages 191-203, 1990.

CITED BY  17

Collaborative Colleagues:
William F. Opdyke: colleagues
Ralph E. Johnson: colleagues