Visualizing and analyzing software variability with bar diagrams and occurrence matrices
Software product lines can be developed in a proactive, reactive or extractive way. In the last case, an essential step is an analysis of the existing implementation of a set of similar software products to identify common and variable assets. If the variability across the similar products was not explicitly managed during their development, the information about it can be recovered with reverse engineering techniques. This paper proposes a simple and flexible technique for organizing and visualizing variability information, which can be particularly useful in the extractive product line adoption context. The technique can be applied to source code, models, and other types of product line artifacts. We discuss the advantages of using bar diagrams and occurrence matrices and demonstrate an example usage in an n-ary text diff. This work was performed within the Fraunhofer Innovation Cluster for Digital Commercial Vehicle Technology (DNT/CVT Cluster).