Tool Support - HestiaProject/PAxSPL GitHub Wiki
PAxSPL tool
SPLReePlan is PAxSPL official supporting tool.
Tools to Support Retrieval Techniques
According to (Assunção et al. 2017) there are many tools/algorithms developed to give support to SPL re-engineering. These tools may be used to execute some feature retrieval techniques during PAxSPL execution. The figure below shows a summary of the tools that may give support during PAxSPL execution.
Sections below describe each tool.
List of supporting tools
FeatureMapper
A tool that allows defining mappings of features to model elements, specifying feature realisations. Access repository. Used in (Seidl et al. 2012)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Design Models, Source Code
- Output: Features Mapped
CoDEx Tool
Creates and maintains direct traceability links between functional concerns and their respective implementations in code. Used in (Trifu 2010)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Requirements, Source Code
- Output: Features Mapped
ThreeVaMar
This algorithm accepts as input a model with duplications that represent systems and produces the model of a product line. Used in (Rubin and Chechik 2010)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Design Models
- Output: Features Discovered
RecFeat
A history-sensitive heuristic for recovering features in code of degenerate program families. Used in (Nunes et al. 2012)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Requirements, Source Code
- Output: Source Code Refactored
Clone-Differentiator Tool
Automatically characterizes clones returned by a clone detector by differentiating Program Dependence Graphs (PDGs) of clones. It is able to provide a precise characterization of semantic differences of clones. Used in (Eyal-Salman et al. 2014) and (Xue et al. 2010)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Requirements, Design Models, Source Code
- Output: Source Code Refactored
MapHist Tool
MapHist tool applies heuristics to explore the evolution history of the family members in order to expand feature mappings in evolving program families. Used in (Nunes et al. 2014b)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Requirements
- Output: Features Mapped
SPLevo tools
SPLevo is a software development tool supporting the consolidation of customized product copies into a Software Product Line. Access the repository. Used in (Klatt et al. 2013)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Source Code
- Output: Source Code Refactored
BUT4Reuse
BUT4Reuse provides a unified framework for mining software artefact variants. Access the repository. Used in (Martinez 2014)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Requirements, Design Models, Source Code
- Output: Features Mapped, Features Discovered, Reports, Source Code Refactored
ExtractorPL
A language-independent approach which provides a quick automatic front-end to refactor a set of systems into an SPL. Access the repository. Used in (Ziadi et al. 2014)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Source Code
- Output: Features Mapped
JfeTkit
It is designed for analyzing java source statically, providing lexical analysis, grammar analysis, call chain graph, control flow graph and feature location analysis in a GUI panel. Access the repository. Used in (Tang et al. 2015)
Phases Supported
- Detection
- Analysis
- Transformation
Strategies Supported
Artifacts
- Input: Source Code
- Output: Source Code Refactored
FMr-T
FMr-T (Feature Model recovery Tool) is a feature model extraction tool that identifies code variability. Used in (Maâzoun et al. 2014)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Source Code
- Output: Features Discovered
ArborCraft
This tool suite automatically processes natural-language requirements documents into a candidate feature model. Used in (Weston et al. 2009)
Phases Supported
- Detection
- Analysis
Strategies Supported
Artifacts
- Input: Requirements
- Output: Features Discovered