@phdthesis{Streckenbach2005, author = {Streckenbach, Mirko}, title = {KABA - a system for refactoring Java programs}, url = {http://nbn-resolving.de/urn:nbn:de:bvb:739-opus-638}, school = {Universit{\"a}t Passau}, year = {2005}, abstract = {Refactoring is a well known technique to enhance various aspects of an object-oriented program. It has become very popular during recent years, as it allows to overcome deficits present in many programs. Doing refactoring by hand is almost impossible due to the size and complexity of modern software systems. Automated tools provide support for the application of refactorings, but do not give hints, which refactorings to apply and why. The Snelting/Tip analysis is a program analysis, which creates a refactoring proposal for a class hierarchy by analyzing how class members are used inside a program. KABA is an adaption and extension of the Snelting/Tip analysis for Java. It has been implemented and expanded to become a semantic preserving, interactive refactoring system. Case studies of real world programs will show the usefulness of the system and its practical value.}, subject = {Java }, language = {en} }