© University of Kent - Contact | Feedback | Legal | FOI | Cookies
A User-extensible Refactoring Tool for Erlang Programs
Huiqing Li and Simon Thompson
Technical Report 4-11, University of Kent, October 2011.Abstract
Refactoring is the process of changing the design of a program without changing what it does. While it is possible to refactor a program by hand, tool support is considered invaluable as it allows large-scale refactorings to be performed easily. However, most refactoring tools are black boxes, supporting a fixed set of `core' refactorings.
This paper reports the framework built into Wrangler -- a refactoring and code inspection tool for Erlang programs -- that allows users to define for themselves refactorings and code inspection functions that suit their needs. These are defined using a template- and rule-based program transformation and analysis API. User-defined refactorings are no ``second-class citizens'': like the existing ones supported by Wrangler, user-defined refactorings benefit from features such as results preview, layout preservation, selective refactoring, undo and so on.
Download publication 465 kbytes (PDF)Bibtex Record
@techreport{3171, author = {Huiqing Li and Simon Thompson}, title = {A {U}ser-extensible {R}efactoring {T}ool for {E}rlang {P}rograms}, month = {October}, year = {2011}, pages = {182-196}, keywords = {determinacy analysis, Craig interpolants}, note = {}, doi = {}, url = {http://www.cs.kent.ac.uk/pubs/2011/3171}, publication_type = {techreport}, submission_id = {6265_1318519600}, institution = {University of Kent}, number = {4-11}, }