MultiRefactor: Automated Refactoring To Improve Software Quality

10/16/2017
by   Michael Mohan, et al.
0

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 tested against the multi-objective algorithm to see how comparable the results gained are with three separate objectives. When comparing the best solutions of each individual objective the multi-objective approach generates suitable improvements in quality in less time, allowing for rapid maintenance cycles.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/16/2022

Search Budget in Multi-Objective Refactoring Optimization: a Model-Based Empirical Study

Software model optimization is the task of automatically generate design...
research
08/26/2023

Performance of Genetic Algorithms in the Context of Software Model Refactoring

Software systems continuously evolve due to new functionalities, require...
research
08/29/2023

Introducing Interactions in Multi-Objective Optimization of Software Architectures

Software architecture optimization aims to enhance non-functional attrib...
research
08/29/2023

Best performance and reliability for your time: budget-aware search-based optimization of software model refactoring

Context: Software model optimization is a process that automatically gen...
research
05/12/2023

Can the Problem-Solving Benefits of Quality Diversity Be Obtained Without Explicit Diversity Maintenance?

When using Quality Diversity (QD) optimization to solve hard exploration...
research
07/09/2021

Parallel and Multi-Objective Falsification with Scenic and VerifAI

Falsification has emerged as an important tool for simulation-based veri...
research
08/04/2022

MAGPIE: Machine Automated General Performance Improvement via Evolution of Software

Performance is one of the most important qualities of software. Several ...

Please sign up or login with your details

Forgot password? Click here to reset