Abstract
Over the past decades, many techniques and tools have been developed to record the sequence of applied refactoring to improve design quality. We start from the observation that these recorded code changes can be used to propose new refactoring solutions in similar contexts. In addition, this knowledge can be combined with structural and semantic information, used by existing work, to improve the automation of refactoring. In this paper, we propose a multi-objective optimization approach to find the best sequence of refactoring's that maximizes the use of refactoring applied in the past to similar contexts, minimizes semantic errors and minimizes the number of defects (improve code quality). To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best trade-off between these three objectives. We report the results of our experiments on different open-source java projects. © 2013 IEEE.
Recommended Citation
A. Ouni et al., "Search-Based Refactoring using Recorded Code Changes," Proceedings of the European Conference on Software Maintenance and Reengineering, CSMR, pp. 221 - 230, article no. 6498470, Institute of Electrical and Electronics Engineers, May 2013.
The definitive version is available at https://doi.org/10.1109/CSMR.2013.31
Department(s)
Computer Science
Keywords and Phrases
Multi-objective Optimization; Refactoring; Search-based Software Engineering; Software Maintenance
International Standard Book Number (ISBN)
978-076954948-4
International Standard Serial Number (ISSN)
1534-5351
Document Type
Article - Conference proceedings
Document Version
Citation
File Type
text
Language(s)
English
Rights
© 2024 Institute of Electrical and Electronics Engineers, All rights reserved.
Publication Date
13 May 2013