Skip to Main content Skip to Navigation
Conference papers

Identifying and Mapping Implemented Variabilities in Java and C++ Systems using symfinder

Abstract : Variability is present in most modern object-oriented software-intensive systems, despite that they commonly do not follow a product line approach. In these systems, variability is implicit and hardly documented as it is implemented by different traditional mechanisms, namely inheritance, overloading, or design patterns. This hampers variability management as automatic identification of variation points (vp-s) with variants is very difficult. symfinder is a symmetry-based tooled approach that enables automatic identification of potential vp-s with variants in such systems. Then, it visualizes them relying on their density in code assets. From the Java-only version presented at SPLC'2019, we present here several notable improvements. They concern an added support for C ++ systems, the identification of vp-s implemented by Decorator and Template pattern instances, an enhanced visualization (e.g., to display all variants, and package coloring), as well as automation of the mapping of potential vp-s to domain features.
Document type :
Conference papers
Complete list of metadata

Cited literature [15 references]  Display  Hide  Download
Contributor : Johann Mortara <>
Submitted on : Wednesday, July 29, 2020 - 11:19:15 AM
Last modification on : Saturday, November 28, 2020 - 11:14:03 PM
Long-term archiving on: : Tuesday, December 1, 2020 - 9:17:23 AM


splc2020-preprint-tool (1).pdf
Files produced by the author(s)




Johann Mortara, Philippe Collet, Xhevahire Tërnava. Identifying and Mapping Implemented Variabilities in Java and C++ Systems using symfinder. 24th ACM International Systems and Software Product Line Conference (SPLC ’20), Oct 2020, MONTREAL, QC, Canada. ⟨10.1145/3382025.3414987⟩. ⟨hal-02908531⟩



Record views


Files downloads