Search-Based Refactoring Detection using Software Metrics Variation
Abstract
Software is frequently refactored to improve its design, either as part of an agile development process or as part of a major design overhaul. In either case, it is very useful to determine what refactorings have recently taken place in order to comprehend better the software and its development trajectory. To this end, we have developed an approach to automate the detection of source code refactorings using structural information extracted from the source code. 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 expressed as refactorings. This refactoring sequence is determined by a search-based process 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 both global and local heuristic search algorithms to explore the space of possible solutions. In applying our approach to several versions of four open source projects we find the average Precision and Recall to be over 90%, thus confirming the effectiveness of our detection approach. © 2013 Springer-Verlag.
Recommended Citation
R. Mahouachi et al., "Search-Based Refactoring Detection using Software Metrics Variation," Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 8084 LNCS, pp. 126 - 140, Springer, Oct 2013.
The definitive version is available at https://doi.org/10.1007/978-3-642-39742-4_11
Department(s)
Computer Science
Keywords and Phrases
refactoring; Search-based software engineering; software metrics
International Standard Book Number (ISBN)
978-364239741-7
International Standard Serial Number (ISSN)
1611-3349; 0302-9743
Document Type
Article - Conference proceedings
Document Version
Citation
File Type
text
Language(s)
English
Rights
© 2024 Springer, All rights reserved.
Publication Date
08 Oct 2013