RefactorErl: a source code analyzer and transformer tool

By Erlang Central | Published: November 17, 2010

RefactorErl is a source code analyzer and transformer tool aimed at refactoring Erlang software. The tool itself is written in Erlang with a  unique approach: semantic analysis results are stored in a Mnesia database to avoid repeated analysis of the same source code, and simple, syntax-based manipulations are available that hide the details of handling separators, comments, and code layout.

Beside the 24 implemented refactoring transformations the tool has a complex analyzer framework. For example, it provides data flow analysis, dynamic function call detection, side-effect analysis, etc and a user level query language to query semantic information or structural complexity metrics about Erlang programs.

Download Presentation Download


  • Zoltán Horváth

    Professor and supervisor of RefactorErl

    Zoltán Horváth is Professor at, and Head of, the Department of Programming Languages and Compilers and Vice-Rector for International Affairs at Eötvös Loránd University in Budapest, Hungary. He defended his habilitation thesis in 2004; the title of his thesis was ``Verification and Semantics of Mobile Code Written in a Functional Programming Language''.

    Current topics researched under his supervision include language design, construction of programming language processing tools, formal methods and scheduling in grids. He has been supervising the RefactorErl project since 2005.

    Zoltán Horváth
  • Melinda Tóth

    Researcher at ELTE and RefactorErl project leader
    Eötvös Loránd University, Budapest, Hungary

    Melinda Tóth is a second year PhD student at the Eötvös Loránd University of Budapest, Hungary.  She has been working with Erlang since 2007 with the RefactorErl project. Melinda received her master's degree in Computer Science in 2009 from Eötvös Loránd University. Both her bachelor and master theses were based on Erlang and function related refactorings. In 2008 she spent five months at University of Kent where she worked with Wrangler. Melinda teaches Parallel Programming and Functional Languages at the University: Haskell and Erlang. Her PhD research field is about data and control flow graphs for functional languages, and impact analysis of refactorings.

    Melinda Tóth

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community