Supporting the analysis of bug prevalence in software product lines with product genealogy

The term bug prevalence is derived from the medical world vocabulary and applied to Software Product Line (SPL), meaning all products that are affected by one particular bug. In single systems development, this concept is not relevant since a bug is either present or not. However, when it comes to SPL, analyzing the bug prevalence of a certain bug is still a challenge and a highly relevant topic, since the same bug may be present in several products. To support this analysis, the main contribution of this paper is the Product Genealogy approach. A core concept in our approach is the Product Genealogy Tree, in which the hierarchy of products in the SPL is represented, reflecting how each product evolved or was derived from another or from the core assets. In this context, the benefit of such a tree is the rapid visualization of the product's structure in the SPL, providing input on which products are to be examined initially. Besides that, in this paper we introduce a novel analogy between the medical genetics world and SPL in order to better explain the principles of our approach.

[1]  Jens Knodel,et al.  Analyzing the Source Code of Multiple Software Variants for Reuse Potential , 2011, 2011 18th Working Conference on Reverse Engineering.

[2]  Charles W. Krueger,et al.  Variation Management for Software Production Lines , 2002, SPLC.

[3]  Jennifer Pérez,et al.  Change Impact Analysis in Product-Line Architectures , 2011, ECSA.

[4]  Jens Knodel,et al.  SAVE: Software Architecture Visualization and Evaluation , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[5]  Danny Weyns,et al.  Towards a Solution for Change Impact Analysis of Software Product Line Products , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.