Maximizing Refactoring Coverage in an Automated Maintenance Approach using Multi-Objective Optimization

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)
116 Downloads (Pure)


This paper describes a multi-objective genetic algorithm used to automate software refactoring. The approach is validated using a set of open source Java programs with a purpose built tool, MultiRefactor. The tool uses a metric function to measure quality in a software system and tests a second objective to measure the amount of code coverage of the applied refactorings by analyzing the code elements they have been applied to. The multi-objective setup will refactor the input program to improve its quality using the quality objective, while also maximizing the code coverage of the refactorings applied to the software. An experiment has been constructed to measure the multi-objective approach against the alternative mono-objective approach that does not use an objective to measure refactoring coverage. The two approaches are tested on six different open source Java programs. The multi-objective approach is found to give significantly better refactoring coverage scores across all inputs in a similar time, while also generating improvements in the quality scores.
Original languageEnglish
Title of host publicationProceddings of the 3rd International Workshop on Refactoring (IWOR)
Publisher IEEE
Number of pages8
ISBN (Electronic)978-1-7281-2270-0
Publication statusPublished - 19 Sep 2019


Dive into the research topics of 'Maximizing Refactoring Coverage in an Automated Maintenance Approach using Multi-Objective Optimization'. Together they form a unique fingerprint.

Cite this