School of Computing

Testing-framework-aware Refactoring

Huiqing Li and Simon Thompson

In The Third ACM Workshop on Refactoring Tools, pages 182-196, Orlando, Florida, October 2009.


Testing is the predominant way of establishing evidence that a program meets it requirements. When both test code and the application under test are written in the same programming language, a refactoring tool for this language should be able

to refactor both application code and testing code together. However, testing frameworks normally come with particular programming idioms, such as their use of naming conventions, coding patterns, meta-programming techniques and the like. A refactoring tool needs to be aware of those programming idioms in order to refactor test code properly. Meanwhile the particularities of test code also suggest refactorings that are particularly applicable to test code.

In this paper we present our experience of extending Wrangler, a refactoring tool for the Erlang programming language, so as to handle the three common testing frameworks for Erlang, as well as discussing the refactoring of test code in its own right.

Download publication 136 kbytes (PDF)

Bibtex Record

author = {Huiqing Li and Simon Thompson},
title = {{T}esting-framework-aware {R}efactoring},
month = {October},
year = {2009},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {27334_1258413688},
    booktitle = {The Third ACM Workshop on Refactoring Tools},
    address = {Orlando, Florida},
    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