Using Modularity Metrics to assist Move Method Refactoring of Large System
Dipartimento di Matematica e Informatica, University of Catania, Italy
arXiv:1308.4011 [cs.SE], (19 Aug 2013)
@article{2013arXiv1308.4011N,
author={Napoli}, C. and {Pappalardo}, G. and {Tramontana}, E.},
title={"{Using Modularity Metrics to assist Move Method Refactoring of Large System}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1308.4011},
primaryClass={"cs.SE"},
keywords={Computer Science – Software Engineering, Computer Science – Distributed, Parallel, and Cluster Computing},
year={2013},
month={aug},
adsurl={http://adsabs.harvard.edu/abs/2013arXiv1308.4011N},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
For large software systems, refactoring activities can be a challenging task, since for keeping component complexity under control the overall architecture as well as many details of each component have to be considered. Product metrics are therefore often used to quantify several parameters related to the modularity of a software system. This paper devises an approach for automatically suggesting refactoring opportunities on large software systems. We show that by assessing metrics for all components, move methods refactoring an be suggested in such a way to improve modularity of several components at once, without hindering any other. However, computing metrics for large software systems, comprising thousands of classes or more, can be a time consuming task when performed on a single CPU. For this, we propose a solution that computes metrics by resorting to GPU, hence greatly shortening computation time. Thanks to our approach precise knowledge on several properties of the system can be continuously gathered while the system evolves, hence assisting developers to quickly assess several solutions for reducing modularity issues.
August 20, 2013 by hgpu