Managing cloned variants: A framework and experience
Julia Rubin, Krzysztof Czarnecki, et al.
SPLC 2013
In this paper, we suggest a method for refactoring UML structural and behavioral models of closely related individual products into product lines. We propose to analyze duplications in the models of individual products using a heterogeneous match algorithm which takes into account structural and behavioral information to identify identical and similar model elements. Identical elements (exact matches) are refactored to common parts of the product line, similar elements are refactored to variable alternative parts, and unmatched elements are refactored to variable optional parts. We further propose to adjust the quality of the match by analyzing quality of the resulting refactoring. We evaluate UML comprehensibility before and after the change using prediction models that are based on static metrics, and use the results to set the optimal thresholds for identity and similarity between model elements. We illustrate our proposed approach on an example.
Julia Rubin, Krzysztof Czarnecki, et al.
SPLC 2013
Omer Tripp, Julia Rubin
USENIX Security 2014
Itay Maman, Tomer Amarilio, et al.
SPLC 2010
Julia Rubin, Goetz Botterweck, et al.
ICSE 2011