Automated Refactoring of Software using Version History and a Code Element Recentness Measure

Michael Mohan, Des Greer

Abstract

This paper proposes a multi-objective genetic algorithm to automate software refactoring and validates the approach using a tool, MultiRefactor, and a set of open source Java programs. The tool uses a metric function to measure quality in a software system and tests a second objective to measure the recentness of the code elements being refactored. Previous versions of the software project are analyzed and a recentness measure is then calculated with respect to previous versions of code. The multi-objective setup refactors the input program to improve its quality using the quality objective, while also focusing on the recentness of the code elements inspected. An experiment has been constructed to measure the multi-objective approach against an alternative mono-objective approach that does not use an objective to measure element recentness. The two approaches are validated using six different open source Java programs. The multi-objective approach is found to give significantly better recentness scores across all inputs in a similar time, while also generating improvements in the quality score.

Download


Paper Citation


in Harvard Style

Mohan M. and Greer D. (2018). Automated Refactoring of Software using Version History and a Code Element Recentness Measure.In Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-300-1, pages 455-462. DOI: 10.5220/0006815304550462


in Bibtex Style

@conference{enase18,
author={Michael Mohan and Des Greer},
title={Automated Refactoring of Software using Version History and a Code Element Recentness Measure},
booktitle={Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2018},
pages={455-462},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006815304550462},
isbn={978-989-758-300-1},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Automated Refactoring of Software using Version History and a Code Element Recentness Measure
SN - 978-989-758-300-1
AU - Mohan M.
AU - Greer D.
PY - 2018
SP - 455
EP - 462
DO - 10.5220/0006815304550462