Ziel der Arbeit ist die Entwicklung eines Refactorings, das mittels constraint-basierter Typinferenz den maximal verallgemeinerten Typ eines oder mehrerer ausgewählter Deklarationselemente eines Java-5-Programms berechnet, diesen im Falle seiner Nichtexistenz in das Programm einzuführen und das oder die Deklarationselemente mit dem (neuen) Typ umzudeklarieren erlaubt. Das Refactoring soll auf den Eclipse Java Development Tools (JDT) und dem darin schon enthalten Constraint-Framework basieren. Im Gegensatz zu seinen Vorläufern soll das Refactoring generische Typen berücksichtigen und insbesondere auch auf Typargumente angewendet werden können. Das Refactoring ist mittels automatischer Anwendung auf mehreren Programmbibliotheken zu testen.