School of Computing

FORSE: Formally-Based Tool Support for Erlang Development

Main project web page

Introduction and Overview

This is the home page for the FORSE project, an EPSRC-sponsored joint project with the University of Sheffield, to build tools to support the working Erlang programmer, based on our existing work in refactoring Haskell programs and verification of Erlang programs.

Project members at Kent are Simon Thompson and Huiqing Li; at Sheffield they are John Derrick and others.

Refactoring

Refactoring is the process of changing (improving?) the design of existing code without changing the behaviour of the code. Examples range from renamning an identifier, to generalising a function or other code artifact and to wholesale changes to data structures.

In our previous project on refactoring Haskell programs which built the HaRe tool, we found that the conditions on transformations such as renaming to make them behaviour preserving are more complex than might be expected. Combining this with the scale at which typical refactorings will be applied (e.g. across a complete code base) means that automated support for refactoring is unavoidable.

HaRe provides a basis on which to build, as it contains a range of functional refactorings. Erlang provides a challenge, in that we will need to investigate ways in which concurrent and real-time functional programs can be refactored safely and effectively. We will document our thoughts on our wiki.

Software: Wrangler -- An Erlang Refactorer

News

  • January 2009. Simon Thompson gave a talk on Clone Detection and Removal for Erlang/OTP within a Refactoring Environment at PEPM 09.

  • November 2008. Simon Thompson gave a short talk on Wrangler at Erlang User Conference 2008 .

  • Sept 2008. Huiqing Li gave a talk on Wrangler and its latest developments at Erlang Workshop 2008 .

  • June 2008. Simon Thompson gave a talk on refactoring Erlang programs at Erlang eXchange .

  • May 2008. Nik gave a presentation on Clone Detection and Removal for Erlang/OTP within a Refactoring Environment at TFP 2008.

  • January 2008. George Orosz and Melinda Toth joined us for five months as Erasmus students from Eötvös Loránd University, Budapest, to work on different aspects of refactoring in Erlang.

  • 19 November 2007. Xingdong Bian joined us as the KTP associate, who works under the joint supervision of Erlang Training and Consulting and Kent University.

  • 29 September 2007. Huiqing gave a presentation on Testing Erlang Refactorings with QuickCheck at IFL2007.

  • 17 November 2006. Erlang Training and Consulting, together with the Computing Laboratory at the University of Kent, have been awarded a £76k Knowledge Transfer Partnership Grant to develop generic software components.

    Together with £35k contributed by Erlang Training and Consulting, this two year grant will support the employment of a KTP associate who will be jointly supervised by the company and the university. The associate's work will increase Erlang Training and Consulting's ability to speed up its internal system development processes. The University of Kent will gain valuable industrial input to its research programme of building tool support for Erlang refactoring.

  • 09 November 2006. Simon Thompson gave a talk on Refactoring Erlang Programs at EUC 2006.

  • 29 September 2006. Huiqing gave a presentation on A Comparative Study of Refactoring Haskell and Erlang Programs at SCAM 2006.

  • 11 September 2006. Aniko Vig and Tamas Nagy joined us for four months as Erasmus students from Eötvös Loránd University, Budapest, to work on refactoring of Erlang programs.

  • 8th-11th May 2006. Simon Thompson, Huiqing Li and John Derrick visited Zoltan Horvath and Tamas Kozsik at the Eötvös Loránd University, Budapest, to discuss joint research on refactoring Erlang programs.

  • 14 October 2005 We were visited by Zoltan Horvath and Tamas Kozsik from Eötvös Loránd University, Budapest, to discuss potential joint research.

Publications

Resources

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

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

Last Updated: 27/03/2014