| Refactoring for generalization using type constraints |
| Full text |
Pdf
(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
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 9, Downloads (12 Months): 65, Citation Count: 25
|
|
|
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
|
Dominic Duggan, Modular type-based reverse engineering of parameterized types in Java code, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.97-113, November 01-05, 1999, Denver, Colorado, United States
|
| |
5
|
Eclipse.org. Eclipse. On-line at www.eclipse.org.
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
James Gosling , Bill Joy , Guy Steele , Gilad Bracha, Java Language Specification, Second Edition: The Java Series, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000
|
| |
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
|
Christopher Seguin, Refactoring tool challenges in a strongly typed language (poster session), Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum), p.101-102, January 2000, Minneapolis, Minnesota, United States
[doi> 10.1145/367845.367992]
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
CITED BY 25
|
|
|
|
|
|
|
|
Robert Fuhrer , Frank Tip , Adam Kieżun, Advanced refactorings in eclipse, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
Rohit Gheyi , Tiago Massoni, Formal refactorings for object models, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
|
|
|
Marc van Kempen , Michel Chaudron , Derrick Kourie , Andrew Boake, Towards proving preservation of behaviour of refactoring of UML models, Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries, p.252-259, September 20-22, 2005, White River, South Africa
|
|
|
|
|
|
|
|
|
Mathieu Verbaere , Arnaud Payement , Oege de Moor, Scripting refactorings with JunGL, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.6
Programming Environments
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Restructuring, reverse engineering, and reengineering
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.2
Semantics of Programming Languages
Subjects:
Program analysis
General Terms:
Design,
Languages,
Theory
Keywords:
class hierarchy,
program analysis,
refactoring,
subtyping,
type constraints
|