Title | Refactoring using type constraints |
Publication Type | Journal Article |
Year of Publication | 2011 |
Authors | Tip F, Fuhrer RM, Kieżun A, Ernst MD, Balaban I, De Sutter B |
Journal | ACM Transactions on Pro\-gramming Languages and Systems |
Volume | 33 |
Pagination | 9:1–9:47 |
Date or Month Published | May |
Abstract | Type constraints express subtype relationships between the types of program expressions, for example, those relationships that are required for type correctness. Type constraints were originally proposed as a convenient framework for solving type checking and type inference problems. This paper shows how type constraints can be used as the basis for practical refactoring tools. In our approach, a set of type constraints is derived from a type-correct program P\@. The main insight behind our work is the fact that P constitutes just one solution to this constraint system, and that alternative solutions may exist that correspond to refactored versions of P\@. We show how a number of refactorings for manipulating types and class hierarchies can be expressed naturally using type constraints. Several refactorings in the standard distribution of Eclipse are based on our work. |
Downloads | https://homes.cs.washington.edu/~mernst/pubs/refactoring-type-constraint... PDF
|
Citation Key | TipFKEBDS2011 |