Change Analysis of #if-def Blocks with FeatureCloud

FeatureCloud is a git client for the visualization of evolution in annotated SPL, i.e. those resorting to ifdefs for variability. Specifically, FeatureCloud (1) mines git repositories; (2) extracts ifdefs; (3) works out differences between two versions of the same ifdefs; (4) abstracts ifdefs in terms of their code churn, tangling and scattering; and finally (5), aggregates and visualizes these properties through "feature clouds". Feature clouds aim to play the same role for SPLs that "word clouds" for textual content: provide an abstract view of the occurrence of features along evolving code, where "repetition" account for scattering and tangling of features. Here, we introduce the analysis goals, the perspective (i.e. the object of analysis) and visualization strategies that underpin FeatureCloud.