{"title":"Stepwise Refactoring Tools","authors":"A. M. Eilertsen, G. Murphy","doi":"10.1109/ICSME52107.2021.00070","DOIUrl":null,"url":null,"abstract":"As part of software change tasks, software developers frequently make repetitive and error-prone code changes. Many of these changes can be automated by refactoring tools that are available in mainstream development environments, but developers seldom choose to use them, in large part due to the all-or-nothing approach of the tools. In this paper, we propose an alternative interaction model in which a refactoring tool instead generates a set of code change entities that the developer can inspect, edit, discard, or apply at will. Between applications, the tool supports manual edits or even starting a new refactoring, thus enabling stepwise and recursive refactoring in a way current tools can not. Our model addresses multiple usability problems with refactoring tools. In this paper, we motivate and describe the proposed model and discuss challenges related to its implementation.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSME52107.2021.00070","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
As part of software change tasks, software developers frequently make repetitive and error-prone code changes. Many of these changes can be automated by refactoring tools that are available in mainstream development environments, but developers seldom choose to use them, in large part due to the all-or-nothing approach of the tools. In this paper, we propose an alternative interaction model in which a refactoring tool instead generates a set of code change entities that the developer can inspect, edit, discard, or apply at will. Between applications, the tool supports manual edits or even starting a new refactoring, thus enabling stepwise and recursive refactoring in a way current tools can not. Our model addresses multiple usability problems with refactoring tools. In this paper, we motivate and describe the proposed model and discuss challenges related to its implementation.