Extending the identification of object-oriented variability implementations using usage relationships

4Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Many variability-rich object-oriented systems rely on multiple traditional techniques (inheritance, patterns) to implement their variability in a single codebase. These variability implementation places are neither explicit nor documented, hampering their detection and variability comprehension. Based on the identification of symmetry property in seven implementation techniques, a first approach was proposed with symfinder to automatically identify and display the variability of a system in a graph-based visualization structured by inheritance. However, composition, or more generally the usage relationship, is extensively used to implement the variability in object-oriented systems, and without this information, comprehending the large amount of variability identified by symfinder is not trivial. In this paper, we present symfinder-2, an extension of the former approach that incorporates the usage relationships to better identify potential variability implementations. We provide two ways to mark classes as entry points, user-defined and automatic, so that the visualization is filtered and enables users to have a better focus when they identify variability. We also report on the evaluation of this extension to ten open-source Java-based systems.

Cite

CITATION STYLE

APA

Mortara, J., Tërnava, X., Collet, P., & Pinna-Dery, A. M. (2021). Extending the identification of object-oriented variability implementations using usage relationships. In ACM International Conference Proceeding Series (Vol. Part F171625-B, pp. 91–98). Association for Computing Machinery. https://doi.org/10.1145/3461002.3473943

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free