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.
This 90 minute tutorial introduces the main features of RefactorErl: how you can use it simply as a refactoring tool, and how analysis results can help you during software development and maintenance. The main part of the talk focuses on the usage of semantic queries to support code comprehension and how can you use it from the different user interfaces.
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.