Alessandro Murgia, R. Tonelli, S. Counsell, G. Concas, M. Marchesi
{"title":"An Empirical Study of Refactoring in the Context of FanIn and FanOut Coupling","authors":"Alessandro Murgia, R. Tonelli, S. Counsell, G. Concas, M. Marchesi","doi":"10.1109/WCRE.2011.52","DOIUrl":null,"url":null,"abstract":"The aim of refactoring is to reduce software complexity and hence simplify the maintenance process. In this paper, we explore the impact of refactorings on \"FanIn\" and \"FanOut\" coupling metrics through extraction of refactoring data from multiple releases of five Java open-source systems, We first considered how a single refactoring modified these metric values, what happened when refactorings had been applied to a single class in unison and finally, what influence a set of refactorings had on the shape of Fan In and Fan Out distributions. Results indicated that, on average, refactored classes tended to have larger FanIn and Fan Out values when compared with non-refactored classes. Where evidence of multiple (different) refactorings applied to the same class was found, the net effect (in terms of FanIn and Fan Out coupling values) was negligible.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"91 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 18th Working Conference on Reverse Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.2011.52","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
Abstract
The aim of refactoring is to reduce software complexity and hence simplify the maintenance process. In this paper, we explore the impact of refactorings on "FanIn" and "FanOut" coupling metrics through extraction of refactoring data from multiple releases of five Java open-source systems, We first considered how a single refactoring modified these metric values, what happened when refactorings had been applied to a single class in unison and finally, what influence a set of refactorings had on the shape of Fan In and Fan Out distributions. Results indicated that, on average, refactored classes tended to have larger FanIn and Fan Out values when compared with non-refactored classes. Where evidence of multiple (different) refactorings applied to the same class was found, the net effect (in terms of FanIn and Fan Out coupling values) was negligible.