Refactoring using type constraints
Refactoring using type constraints
复制标题
使用类型约束进行重构
DOI:
10.1145/1961204.1961205
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
B. D. Sutter
中科院分区:
文献类型:
--
作者:
F. Tip;Robert M. Fuhrer;Adam Kiezun;Michael D. Ernst;Ittai Balaban;B. D. Sutter
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.