symfinder: A Toolchain for the Identification and Visualization of Object-Oriented Variability Implementations

Abstract : When variability is implemented into a single variability-rich system with object-oriented techniques (e.g., inheritance, overloading , design patterns), the variation points and variants usually do not align with the domain features. It is then very hard and time consuming to manually identify these variation points to manage variability at the implementation level. symfinder is a toolchain to automatically identify and visualize these variability implementation locations inside a single object-oriented code base. For the identification part, it relies on the notion of symmetry between classes or methods to characterize uniformly some implementation techniques such as inheritance, overloading, or design patterns like Factory. The toolchain also generates an interactive Web-based visualization in which classes that are variation points are nodes linked together through their inheritance relationships, while the size, color, and texture of the nodes are used to represent some metrics on the number of overloaded constructors or methods. As a result, the visualization enables one to discern zones of interest where variation points are strongly present and to get relevant information over concerned classes. The toolchain, publicly available with its source code and an online demo, has been applied to several large open source projects.
Document type :
Conference papers
Complete list of metadatas

Cited literature [20 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02342730
Contributor : Philippe Collet <>
Submitted on : Friday, November 1, 2019 - 11:33:07 AM
Last modification on : Friday, November 8, 2019 - 1:37:46 AM

File

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

Identifiers

Citation

Johann Mortara, Xhevahire Tërnava, Philippe Collet. symfinder: A Toolchain for the Identification and Visualization of Object-Oriented Variability Implementations. the 23rd International Systems and Software Product Line Conference, Sep 2019, Paris, France. pp.5-8, ⟨10.1145/3307630.3342394⟩. ⟨hal-02342730⟩

Share

Metrics

Record views

8

Files downloads

8