{"title":"Is the need to follow chains a possible deterrent to certain refactorings and an inducement to others?","authors":"S. Counsell","doi":"10.1109/RCIS.2008.4632099","DOIUrl":null,"url":null,"abstract":"A current and difficult challenge in the software engineering arena is assessment of code smells and subsequent re-engineering decisions. The mechanics of seventy-two individual, object-oriented refactorings are specified in the seminal text by Fowler, providing the steps that need to be undertaken to complete each. While it is relatively easy to identify dasiarelatedpsila refactorings, i.e., those that each refactoring itself directly uses as part of those mechanics, what is not so clear is the chain of required refactorings that may emerge due to these indirect (and composite) relationships. In this paper, we investigate the characteristics of fourteen of the seventy-two refactorings, identifying, for each, its related refactorings and the implications this may have for the overall time and effort required to carry out each. We supported our analysis with data from a previous empirical analysis. The key result was that refactorings inducing long chains tended to be utilized less by developers than refactorings with short chains, suggesting that complexity given by long chains may be a real consideration prior to refactoring; empirically, long chains were found to be composed of sets of smaller, inter-related refactorings. On a general note, understanding the composition of refactorings is recognized as an emerging yet under-researched area but has significant implications for the amount of effort that a developer might have to invest in any single dasiachangepsila to a system involving refactoring.","PeriodicalId":416272,"journal":{"name":"2008 Second International Conference on Research Challenges in Information Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 Second International Conference on Research Challenges in Information Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RCIS.2008.4632099","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
Abstract
A current and difficult challenge in the software engineering arena is assessment of code smells and subsequent re-engineering decisions. The mechanics of seventy-two individual, object-oriented refactorings are specified in the seminal text by Fowler, providing the steps that need to be undertaken to complete each. While it is relatively easy to identify dasiarelatedpsila refactorings, i.e., those that each refactoring itself directly uses as part of those mechanics, what is not so clear is the chain of required refactorings that may emerge due to these indirect (and composite) relationships. In this paper, we investigate the characteristics of fourteen of the seventy-two refactorings, identifying, for each, its related refactorings and the implications this may have for the overall time and effort required to carry out each. We supported our analysis with data from a previous empirical analysis. The key result was that refactorings inducing long chains tended to be utilized less by developers than refactorings with short chains, suggesting that complexity given by long chains may be a real consideration prior to refactoring; empirically, long chains were found to be composed of sets of smaller, inter-related refactorings. On a general note, understanding the composition of refactorings is recognized as an emerging yet under-researched area but has significant implications for the amount of effort that a developer might have to invest in any single dasiachangepsila to a system involving refactoring.