TA-RE: an exchange language for mining software repositories
Proceedings of the 2006 international workshop on Mining software repositories
Program element matching for multi-version program analyses
Proceedings of the 2006 international workshop on Mining software repositories
Mining version archives for co-changed lines
Proceedings of the 2006 international workshop on Mining software repositories
Fine-grained processing of CVS archives with APFEL
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
Automatic Inference of Structural Changes for Matching across Program Versions
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Predicting Faults from Cached History
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Prioritizing Warning Categories by Analyzing Software History
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Determining detailed structural correspondence for generalization tasks
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Automated detection of api refactorings in libraries
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Mining framework usage changes from instantiation code
Proceedings of the 30th international conference on Software engineering
Recommending adaptive changes for framework evolution
Proceedings of the 30th international conference on Software engineering
Improving change descriptions with change contexts
Proceedings of the 2008 international working conference on Mining software repositories
AURA: a hybrid approach to identify framework evolution
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Actively comparing clones inside the code editor
Proceedings of the 4th International Workshop on Software Clones
A graph-based approach to API usage adaptation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Recommending Adaptive Changes for Framework Evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
Historage: fine-grained version control system for Java
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Mining evolution of object usage
Proceedings of the 25th European conference on Object-oriented programming
iDiff: Interaction-based program differencing tool
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Reconciling manual and automatic refactoring
Proceedings of the 34th International Conference on Software Engineering
A history-based matching approach to identification of framework evolution
Proceedings of the 34th International Conference on Software Engineering
A comparative study of manual and automated refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
It is a common understanding that identifying the same entity such as module, file, and function between revisions is important for software evolution related analysis. Most software evolution researchers use entity names, such as file names and function names, as entity identifiers based on the assumption that each entity is uniquely identifiable by its name. Unfortunately names change over time. In this paper we propose an automated algorithm that identifies entity mapping at the function level across revisions even when an entity's name changes in the new revision. This algorithm is based on computing function similarities. We introduce eight similarity factors to determine if a function is renamed from a function. To find out which similarity factors are dominant, a significance analysis is performed on each factor. To validate our algorithm and for factor significance analysis, ten human judges manually identified renamed entities across revisions for two open source projects: Subversion and Apache2. Using the manually identified result set we trained weights for each similarity factor and measured the accuracy of our algorithm. We computed the accuracies among human judges. We found our algorithm's accuracy is better than the average accuracy among human judges. We also show that trained weights for similarity factors from one period in one project are reusable for other periods and/or other projects. Finally we combined all possible factor combinations and computed the accuracy of each combination. We found that adding more factors does not necessarily improve the accuracy of origin detection.