Finding refactorings via change metrics
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Identifying Refactorings from Source-Code Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Refactoring Detection based on UMLDiff Change-Facts Queries
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Mining a Change-Based Software Repository
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Detecting and Resolving Process Model Differences in the Absence of a Change Log
BPM '08 Proceedings of the 6th International Conference on Business Process Management
Refactoring-aware versioning in Eclipse
Electronic Notes in Theoretical Computer Science (ENTCS)
DECOR: A Method for the Specification and Detection of Code and Design Smells
IEEE Transactions on Software Engineering
Comparing State- and Operation-Based Change Tracking on Models
EDOC '10 Proceedings of the 2010 14th IEEE International Enterprise Distributed Object Computing Conference
Template-based reconstruction of complex refactorings
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
Automated detection of refactorings in evolving components
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Identifying and Summarizing Systematic Code Changes via Rule Inference
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
We propose an approach to automate the detection of source code refactoring using structural information. Our approach takes as input a list of possible refactorings, a set of structural metrics and the initial and revised versions of the source code. It generates as output a sequence of detected changes in terms of refactorings. In this case, a solution is defined as the sequence of refactoring operations that minimizes the metrics variation between the revised version of the software and the version yielded by the application of the refactoring sequence to the initial version of the software. We use and adapt global and local heuristic search algorithms to explore the space of possible solutions.