= Welcome to the manual page of !RefactorErl! [http://plc.inf.elte.hu/erlang RefactorErl] is a source code analyser and transformer tool for [http://www.erlang.org/ Erlang], developed at [http://www.elte.hu/en Eötvös Loránd University], [http://en.wikipedia.org/wiki/Budapest Budapest], [http://en.wikipedia.org/wiki/Hungary Hungary]. This wiki aims to help our users understand the main features of the tool and to guide their everyday use. If you are new to !RefactorErl, you can find some installation and configuration instructions. == Getting started * [wiki:Install How to install the tool] * How to configure [HowtoConfigureRefactorErl RefactorErl] / [WebInterface#Startingup Web Interface] / [EmacsInterface#ConfigurationinXEmacsEmacs Emacs] / [EclipseInterface#Configuration Eclipse] / [HowtoConfigureVim Vim] * How to start the tool in [FirstUsage normal] / [FirstUsage server] / [FirstUsage client] mode {{{#!comment == Analysing Source Code * HowtoAddFiles * HowtoAddIncludePaths * [InitialLoadingError Handling errors at initial loading] }}} == Feature Highlights * Static analysis * Side effects * Data-flow, Control-flow * [DynamicCallAnalysis Dynamic function calls] (e.g. apply) * [wiki:Dependency Module and function dependencies] * [InterfaceLayers Interface layer] consistency check * Program comprehension (code inspection, grokking) * [SemanticQuery Custom (ad-hoc) semantic queries] (see the reference of [SemanticQuery/Components available components]) * [PreDefinedSemanticQuery Pre-defined semantic queries] (available via the web interface) * [MetricQuery Metric queries] * Code refactoring: 24 different [RefactoringSteps refactoring steps] * [ModuleFunctionClustering Module and function clustering] * Multiple storage back-ends: [wiki:MnesiaDB Mnesia] and [wiki:NifDB C++ graph based] == User Interfaces * [ErlangShellInterface Interactive] and [ScriptableInterface scriptable] Erlang shell interface * [WebInterface Web interface] * [CommandLineInterface Linux shell interface (CLI)] * [EmacsInterface Emacs/XEmacs interface] * [EclipseInterface Eclipse], [HowtoConfigureVim Vim] plugin