{'fraction_non_alphanumeric': 0.012539184952978056, 'fraction_numerical': 0.0, 'mean_word_length': 5.699300699300699, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Strategies for Aligning Variability Model and Architecture

We have recently developed a tool-supported approach for the transitioning from implicit to explicit variability management of existing software products. Such an approach requires the definition of a variability model that is then linked to the existing product architecture to document how the variability is realized in the architecture. As the existing architecture has typically not been developed with variability in mind, different inconsistencies can occur when linking the variability model to the architecture. In this paper we classify the different inconsistencies, show how they can be detected, and propose different refactoring strategies to support the systematic alignment of variability model and architecture. As a proof-of-concept, the identified strategies have been applied in a first case study of introducing explicit variability management in our own architecture toolkit.