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 can 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.

Using Modularity Metrics to Assist Move Method Refactoring of Large Systems / Napoli, C; Pappalardo, G; Tramontana, E. - (2013), pp. 529-534. (Intervento presentato al convegno 2013 7th International Conference on Complex, Intelligent, and Software Intensive Systems, CISIS 2013 tenutosi a Taichung; Taiwan) [10.1109/CISIS.2013.96].

Using Modularity Metrics to Assist Move Method Refactoring of Large Systems

Napoli C
;
2013

Abstract

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 can 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.
2013
2013 7th International Conference on Complex, Intelligent, and Software Intensive Systems, CISIS 2013
Software engineering; Refactoring; GPU computing
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
Using Modularity Metrics to Assist Move Method Refactoring of Large Systems / Napoli, C; Pappalardo, G; Tramontana, E. - (2013), pp. 529-534. (Intervento presentato al convegno 2013 7th International Conference on Complex, Intelligent, and Software Intensive Systems, CISIS 2013 tenutosi a Taichung; Taiwan) [10.1109/CISIS.2013.96].
File allegati a questo prodotto
File Dimensione Formato  
Napoli_Using-modularity_2013.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 179.9 kB
Formato Adobe PDF
179.9 kB Adobe PDF   Contatta l'autore
VE_2013_11573-1328748.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 184.83 kB
Formato Adobe PDF
184.83 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1328748
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 35
  • ???jsp.display-item.citation.isi??? 15
social impact