Tool Support
SPLReePlan is PAxSPL official supporting tool.
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.
A tool that allows defining mappings of features to model elements, specifying feature realisations. Access repository. Used in (Seidl et al. 2012)
- Detection
- Analysis
- Input: Design Models, Source Code
- Output: Features Mapped
Creates and maintains direct traceability links between functional concerns and their respective implementations in code. Used in (Trifu 2010)
- Detection
- Analysis
- Input: Requirements, Source Code
- Output: Features Mapped
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)
- Detection
- Analysis
- Transformation
- Input: Design Models
- Output: Features Discovered
A history-sensitive heuristic for recovering features in code of degenerate program families. Used in (Nunes et al. 2012)
- Detection
- Analysis
- Transformation
- Input: Requirements, Source Code
- Output: Source Code Refactored
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)
- Detection
- Analysis
- Transformation
- Input: Requirements, Design Models, Source Code
- Output: Source Code Refactored
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)
- Detection
- Analysis
- Input: Requirements
- Output: Features Mapped
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)
- Detection
- Analysis
- Transformation
- Input: Source Code
- Output: Source Code Refactored
BUT4Reuse provides a unified framework for mining software artefact variants. Access the repository. Used in (Martinez 2014)
- Detection
- Analysis
- Transformation
- Input: Requirements, Design Models, Source Code
- Output: Features Mapped, Features Discovered, Reports, Source Code Refactored
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)
- Detection
- Analysis
- Input: Source Code
- Output: Features Mapped
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)
- Detection
- Analysis
- Transformation
- Input: Source Code
- Output: Source Code Refactored
FMr-T (Feature Model recovery Tool) is a feature model extraction tool that identifies code variability. Used in (MaΓ’zoun et al. 2014)
- Detection
- Analysis
- Input: Source Code
- Output: Features Discovered
This tool suite automatically processes natural-language requirements documents into a candidate feature model. Used in (Weston et al. 2009)
- Detection
- Analysis
- Input: Requirements
- Output: Features Discovered
π Prepare, Assemble and Execute Process for SPL (PAxSPL)
-
π Process Structure
-
π Process Overview
-
π Guidelines
-
Static Analysis Techniques
-
Information Retrieval Techniques
-
Support Techniques
-
π Support Checklist
-
π» Tool Support
-
-
π Bibliography
PAxSPL is a project developed within the Laboratory of Empirical Studies in Software Engineering