“…In this work, we target OO codebases that are not associated in any way with additional information regard-ing variability (e.g., UML-based variability description, source code annotations). As a consequence, managing this variability becomes increasingly difficult throughout the evolution of the system [4,17,18], eventually leading to technical debt [19,20]. The technical debt represents short-term applications of design and implementation constructs that make future modifications more costly or impossible, thus impacting system's maintainability and evolution [20].…”