| Refactoring class hierarchies with KABA |
| Full text |
Pdf
(371 KB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
Vancouver, BC, Canada
SESSION: Advanced design
table of contents
Pages: 315 - 330
Year of Publication: 2004
ISBN:1-58113-831-9
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 12, Downloads (12 Months): 56, Citation Count: 10
|
|
|
ABSTRACT
KABA is an innovative system for refactoring Java class hierar-chies. It uses the Snelting/Tip algorithm [13] in order to determine a behavior-preserving refactoring which is optimal with respect to a given set of client programs. KABA can be based on dynamic as well as static program analysis. The static variant will preserve program behavior for all possible input values; the dynamic version guarantees preservation of behavior for all runs in a given test suite. KABA offers automatic refactoring as well as manual refactoring using a dedicated editor. In this contribution, we recapitulate the Snelting/Tip algorithm, present the new dynamic version, and explain new extensions which allow to handle full Java. We then present five case studies which discuss the KABA refactoring proposals for programs such as javac and antlr. KABA proved that javac does not need refactoring, but generated semantics-based refactoring proposals for antlr.
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
|
David F. Bacon , Peter F. Sweeney, Fast static analysis of C++ virtual function calls, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.324-341, October 06-10, 1996, San Jose, California, United States
|
| |
2
|
|
 |
3
|
|
| |
4
|
E. Casais. Automatic reorganization of object-oriented hierarchies: A case study. Object-Oriented Systems, 1(2):95--115, 1994.
|
| |
5
|
M. Fowler. Refactoring. Addison-Wesley, 1999.
|
| |
6
|
|
| |
7
|
|
| |
8
|
O. Lhotak and L. Hendren. Scaling Java points-to using Sparc. In Compiler Construction, 12th International Conference, LNCS, pages 153--169, 2003.
|
 |
9
|
Ivan Moore, Automatic inheritance hierarchy restructuring and method refactoring, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.235-250, October 06-10, 1996, San Jose, California, United States
|
 |
10
|
|
 |
11
|
Atanas Rountev , Ana Milanova , Barbara G. Ryder, Points-to analysis for Java using annotated constraints, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.43-55, October 14-18, 2001, Tampa Bay, FL, USA
|
| |
12
|
P. Schneider. Umsetzung von Transformationen an Klassenhierarchien in der Sprache JAVA. Master's thesis, Universität Passau, 2003.
|
 |
13
|
|
| |
14
|
M. Streckenbach. Points-to-Analyse für Java. Technical Report MIP-0011, Fakultät für Mathematik und Informatik, Universität Passau, 2000.
|
 |
15
|
Frank Tip , Adam Kiezun , Dirk Bäumer, Refactoring for generalization using type constraints, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
16
|
F. Tip, G. Snelting, and R. Johnson. Program analysis for object-oriented evolution. Technical report, Dagstuhl Seminar Report 03091, 2003.
|
| |
17
|
|
 |
18
|
|
REVIEW
"Michael G. Murphy : Reviewer"
KABA (klassenanalyse mit begriffsanalyse) is an innovative system for refactoring Java class hierarchies that uses the Snelting/Tip algorithm to determine a refactoring that is both behavior preserving and optimal, with respect to a given set of c
more...
|