LEADT (short for Location, Expansion, And Documentation Tool) supports developers in locating features in Java code in order to turn them into a software product line. It is built on top of CIDE.
LEADT is an Eclipse Plug-in, and currently includes an older version of CIDE (it is currently not compatible with other CIDE versions, but this is planned for near-future releases). To install you need Eclipse 3.5 or 3.6 running with Java 1.5. (Other versions may work but have not been tested). Install the plugin only in an Eclipse version you don't use productively, since LEADT and CIDE are in development status and may affect all projects in the workspace.
Download the plugins and unzip them in Eclipse's dropins directory.
Switch to the CIDE perspective.
If CIDE is correctly installed you see a CIDE submenu in the context menu of every project (use the "project explorer", not "package explorer" in Eclipse). In this submenu you find options to specify features, generate variants/products for specific feature selections. Here you also find the option "Prepare for feature mining", which is necessary for all further steps.
Now you can open every file with a special CIDE editor. In this editor you can highlight a piece of code and select a feature from the context menu. You should see a colored background on this code segment shortly after. If the "Colored Java Editor" (Advanced Java Support) or "Colored Source Editor" (for all other languages) is not show in the "Open With" selection, select it using the "Other..." dialog. Tip: In Eclipse preferences (General - Editors - File Association) you can assign certain file types to always open with the CIDE editor.
LEADT provides new views: FeatureManager to select the feature you are currently interested in (all features have to be specified before selecting "prepare for feature mining") and Recommendation Manager, which displays the current recommendations.
You can select recommendations to jump to the according code fragment. When you annotate a code fragment, LEADT updates the recommendations accordingly. Furthermore, you can mark recommendations as incorrect using the recommendation's context menu ("Hide").
For more information on CIDE (without LEADT) see http://fosd.de/cide
Christian Kästner, Alexander Dreiling, Klaus Ostermann. Variability Mining with LEADT. Technical Report, Philipps University Marburg. September 2011.
LEADT
was developed by Alexander Dreiling at
the University of
Magdeburg, Germany
and by Christian
Kästner the Philipps
University Marburg.
For
information about the
project, please contact the development team.
The source code and case studies are available in LEADT's github repository.