CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Easing the Transition to Software Mass Customization
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
Using Origin Analysis to Detect Merging and Splitting of Source Code Entities
IEEE Transactions on Software Engineering
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
MUDABlue: an automatic categorization system for open source repositories
Journal of Systems and Software - Special issue: Selected papers from the 11th Asia Pacific software engineering conference (APSEC 2004)
Identifying Refactorings from Source-Code Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
FAVE: factor analysis based approach for detecting product line variability from change history
Proceedings of the 2008 international working conference on Mining software repositories
Using Latent Dirichlet Allocation for automatic categorization of software
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Non-essential changes in version histories
Proceedings of the 33rd International Conference on Software Engineering
Analyzing the Source Code of Multiple Software Variants for Reuse Potential
WCRE '11 Proceedings of the 2011 18th Working Conference on Reverse Engineering
A method for analyzing code homology in genealogy of evolving software
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Measuring similarity of large software systems based on source code correspondence
PROFES'05 Proceedings of the 6th international conference on Product Focused Software Process Improvement
Proceedings of the 34th International Conference on Software Engineering
Detecting similar software applications
Proceedings of the 34th International Conference on Software Engineering
Locating distinguishing features using diff sets
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Managing forked product variants
Proceedings of the 16th International Software Product Line Conference - Volume 1
Inferring Repository File Structure Modifications Using Nearest-Neighbor Clone Detection
WCRE '12 Proceedings of the 2012 19th Working Conference on Reverse Engineering
WCRE '12 Proceedings of the 2012 19th Working Conference on Reverse Engineering
Hi-index | 0.00 |
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.