Extraction of product evolution tree from source code of product variants

  • Authors:
  • Tetsuya Kanda;Takashi Ishio;Katsuro Inoue

  • Affiliations:
  • Osaka University, Suita, Osaka, Japan;Osaka University, Suita, Osaka, Japan;Osaka University, Suita, Osaka, Japan

  • Venue:
  • Proceedings of the 17th International Software Product Line Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

A large number of software products may be derived from an original single product. Although software product line engineering is advocated as an effective approach to maintaining such a family of products, re-engineering existing products requires developers to understand the evolution history of the products. This can be challenging because developers typically only have access to product source code. In this research, we propose to extract a Product Evolution Tree that approximates the evolution history from source code of products. Our key idea is that two successive products are the most similar to one another in the evolution history. We construct a Product Evolution Tree as a minimum spanning tree whose cost function is defined by the number of similar files between products. As an experiment, we extracted Product Evolution Trees from 6 datasets of open-source projects. The result showed that 53% to 92% of edges in the extracted trees were consistent with the actual evolution history of the projects.