Measuring the Ability to Form a Product Line from Existing Products

Measuring the Ability to Form a Product Line from Existing Products
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

A product line approach can save valuable resources by reusing artifacts. Especially for software artifacts, the reuse of existing components is highly desirable. In recent literature, the creation of software product lines is mainly proposed from a top-down point of view regarding features which are visible by customers. In practice, however, the design for a product line often arises from one or few existing products that descend from a very first product starting with copy-paste and evolving individually. In this contribution, we propose the theoretical basis to derive a set of metrics for evaluating similar software products in an objective manner. These metrics are used to evaluate the set of product’s ability to form a product line.


💡 Research Summary

The paper addresses a practical gap in product‑line engineering: while most academic work focuses on a top‑down, feature‑driven approach to building software product lines, many organizations actually evolve a product line from a handful of existing, independently developed products. These products often originate from a “copy‑and‑paste” evolution of an initial system, resulting in a mixture of shared and divergent artifacts. The authors propose a theoretical framework and a concrete set of metrics that objectively quantify how well a set of existing products can be consolidated into a reusable product line.

Three orthogonal similarity dimensions are defined. Structural Similarity (SS) models each product’s module and class hierarchy as a directed graph and uses sub‑graph isomorphism algorithms (e.g., VF2) to compute the proportion of a common sub‑graph. This captures architectural commonality. Behavioral Similarity (BS) extracts interface signatures, method‑call sequences, and state‑transition models, then applies sequence‑matching techniques to assess functional overlap. This dimension reflects how similarly the products behave from a user‑oriented perspective. Code Similarity (CS) combines token‑level or abstract‑syntax‑tree (AST) based string similarity measures with clone‑detection tools (e.g., NiCad, CCFinder) to quantify actual code reuse. Each metric is normalized to the interval


Comments & Academic Discussion

Loading comments...

Leave a Comment