School of Computing

A comparative study of refactoring haskell and erlang programs

Huiqing Li and Simon Thompson

In Massimiliano Di Penta and Leon Moonen, editors, Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2006), pages 182-196. IEEE, September 2006.

Abstract

Refactoring is about changing the design of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring.

Although both Haskell and Erlang are general-purpose functional programming languages, they have many differences in their language design and programming idioms. As a result, program refactoring in the two languages has much in common, but also considerable differences. This paper makes this comparison, and in particular looks in more detail at the refactorings applicable in each language, the program analysis required by typical refactorings, and at tool support for refactoring Haskell and Erlang programs.

Download publication 353 kbytes (PDF)

Bibtex Record

@inproceedings{2439,
author = {Huiqing Li  and Simon Thompson},
title = {A Comparative Study of Refactoring Haskell and Erlang Programs},
month = {September},
year = {2006},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2006/2439},
    publication_type = {inproceedings},
    submission_id = {13172_1159861615},
    ISBN = {0-7695-2353-6},
    booktitle = {Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2006)},
    editor = {Massimiliano Di Penta  and  Leon Moonen},
    organization = {IEEE},
    refereed = {refereed},
}

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

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

Last Updated: 21/03/2014