Approximating the Evolution History of Software from Source Code

Tetsuya KANDA  Takashi ISHIO  Katsuro INOUE  

IEICE TRANSACTIONS on Information and Systems   Vol.E98-D   No.6   pp.1185-1193
Publication Date: 2015/06/01
Publicized: 2015/03/17
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2014EDP7286
Type of Manuscript: PAPER
Category: Software Engineering
software evolution,  software product line,  visualization,  

Full Text: PDF>>
Buy this Article

Once a software product has been released, a large number of software products may be derived from an original single product. Management and maintenance of product variants are important, but those are hardly cared because developers do not make efforts for the further maintainability in the initial phase of software development. However, history of products would be lost in typical cases and developers have only source code of products in the worst case. In this paper, we approximate the evolution history of software products using source code of them. Our key idea is that two successive products are the most similar pair of products in evolution history, and have many similar source files. We did an experiment to compare the analysis result with actual evolution history. The result shows 78% (on average) of edges in the extracted trees are consistent with the actual evolution history of the products.