Download: PDF.
“Refactoring using type constraints”
by
Frank Tip,
Robert M. Fuhrer,
Adam Kieżun,
Michael D. Ernst,
Ittai Balaban,
and
Bjorn De Sutter.
ACM Transactions on Programming Languages and Systems, vol. 33, no. 3, May 2011, pp. 9:1-9:47.
A previous version appeared as
“Refactoring using type constraints”
by
Frank Tip,
Robert M. Fuhrer,
Adam Kiezun,
Michael D. Ernst,
Ittai Balaban,
and
Bjorn De Sutter.
IBM T.J. Watson Research Center technical report RC24804, (Hawthorne, NY),
June 9, 2009.
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.
Download: PDF.
BibTeX entry:
@article{TipFKEBDS2011, author = {Frank Tip and Robert M. Fuhrer and Adam Kie{\.z}un and Michael D. Ernst and Ittai Balaban and Bjorn De Sutter}, title = {Refactoring using type constraints}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {33}, number = {3}, pages = {9:1--9:47}, month = may, year = {2011} }
(This webpage was created with bibtex2web.)
Back to Michael Ernst's publications.