Welcome to RefactorErl

​RefactorErl is an open-source static source code analyser and transformer tool for ​Erlang, developed by the Department of Programming Languages and Compilers at the Faculty of Informatics, ​Eötvös Loránd University, ​Budapest, ​Hungary.

The main focus of the project is to support daily code comprehension tasks of Erlang developers. While this source code analyser and transformer tool is still considered as a prototype, its usefulness in industrial usage has already been proved, and every major limitation of real-world usage has been addressed.

The tool has a custom Erlang source code analyser and transformer that is capable of handling real-world code, it was successfully applied on more than 1,5 million LOC. Features include support for analysing macro constructs, storage and fast retrieval of analysis results, and source code layout and comment preservation during transformations.

The result of different static semantic analysis is available through a user-level semantic query language, that can assist Erlang developers in everyday tasks such as program comprehension, debugging, finding relationships among program parts, etc.

Latest activities

  • Released a new version of the tool

    The latest public release of our Erlang source code analyser and refactoring tool, released on 21 April 2015. The 0.9.15.04 release can be built using the Erlang/OTP 17.0. The highlighted changes of the tool are the followings:

    • Clone IdentifiErl provides wider services, and supports clone elimination as well.
    • The tool can be used from Eclipse.
    • SQ got advanced: variables can be used for selectors and properties.
    • A faster dependency graph builder component can be used with some new options.
    Read more about the main changes of the prototype in release notes.

  • Gave a talk

    Melinda Toth gives a talk at Erlang Factory SF Bay Area 2014
    During the talk the most recent features of the tool will be highlighted!

  • The RefactorErl Team got invovled in ParaPhrase-Enlarged project

    The ParaPhrase project aims to produce a new structured design and implementation process for heterogeneous parallel architectures, where developers exploit a variety of parallel patterns to develop component based applications that can be mapped to the available hardware resources, and which may then be dynamically re-mapped to meet application needs and hardware availability. Read more about the project at the ParaPhrase-Enlarged homepage.

Brand-new features

To make grokking easier, we constructed a more user-friendly web based interface. Read more about the new web based interface..