School of Computing

A Domain-Specific Language for Scripting Refactorings in Erlang

Huiqing Li and Simon Thompson

In Juan de Lara and Andrea Zisman, editors, 15th Fundamental Approaches to Software Engineering(FASE2012), page 15pp, Tallinn, Estonia, March 2012. Lecture Notes in Computer Science. Springer.


Refactoring is the process of changing the design of a program without changing its behaviour. Many refactoring tools have been developed for various programming languages; their support for composite refactorings -- refactorings that are composed from a number of primitive refactorings -- is limited. In particular, there is a lack of powerful and easy-to-use frameworks that allow users to script their own %reusable composite refactorings in order to carry out large-scale refactorings efficiently and effectively.

This paper introduces the domain-specific language framework of Wrangler -- a refactoring and code inspection tool for Erlang programs -- that allows users to script composite refactorings, test them and apply them on the fly. The composite refactorings are fully integrated into Wrangler and so can be previewed, applied and `undone' interactively.

Download publication 427 kbytes (PDF)

Bibtex Record

author = {Huiqing Li and Simon Thompson},
title = {{A} {D}omain-{S}pecific {L}anguage for {S}cripting {R}efactorings in {E}rlang},
month = {March},
year = {2012},
pages = {15pp},
keywords = {Refactoring, DSL},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {10391_1333045052},
    booktitle = {15th Fundamental Approaches to Software Engineering(FASE2012)},
    editor = {Juan de Lara and Andrea Zisman},
    address = {Tallinn, Estonia},
    publisher = {Lecture Notes in Computer Science. Springer},
    refereed = {yes},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014