MultiRefactor: Automated Refactoring To Improve Software Quality
Michael Mohan, Des Greer

TL;DR
MultiRefactor is an automated tool that performs multiple refactorings using search-based optimization to enhance software quality efficiently across various codebases.
Contribution
It introduces a fully automated multi-refactor tool with multi-objective search algorithms and evaluates effective metrics for software quality improvement.
Findings
Multi-objective approach yields better quality improvements in less time.
Metrics related to specific code elements are more effective for guiding refactoring.
The tool supports 26 refactorings and multiple optimization algorithms.
Abstract
In this paper, a new approach is proposed for automated software maintenance. The tool is able to perform 26 different refactorings. It also contains a large selection of metrics to measure the impact of the refactorings on the software and six different search based optimization algorithms to improve the software. This tool contains both mono-objective and multi-objective search techniques for software improvement and is fully automated. The paper describes the various capabilities of the tool, the unique aspects of it, and also presents some research results from experimentation. The individual metrics are tested across five different codebases to deduce the most effective metrics for general quality improvement. It is found that the metrics that relate to more specific elements of the code are more useful for driving change in the search. The mono-objective genetic algorithm is also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
