一句话:通过调查107名工业开发者,揭示大规模重构的实践方式、工具支持需求与挑战。
论文关注大规模重构在工业实践中的形态及其工具支持问题。作者对107名工业开发者开展问卷调查,了解项目规模、重构活动、所用工具与痛点。结果显示,项目常经历多次大规模重构,每次耗时可观;开发者更多依赖IDE等通用工具而非专用重构工具。不同重构活动对工具的使用差异明显,一些高难度活动几乎未获工具支持。分析表明,改进代码理解、测试支持以及面向业务干系人的工具能力,可能显著提升大规模重构实践。
Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Small-scale (floss) refactoring is common in industry and is often performed by a single developer in short sessions, even though developers do much of this work manually instead of using refactoring tools. However, some refactoring efforts are much larger in scale, requiring entire teams and months or years of effort, and the role of tools in these efforts is not as well studied. In this paper, we report on a survey we conducted with developers to understand large-scale refactoring and its tool support needs. Our results from 107 industry developers demonstrate that projects commonly go through multiple large-scale refactorings, each of which requires considerable effort. Our study finds that developers use several categories of tools to support large-scale refactoring and rely more heavily on general-purpose tools like IDEs than on tools designed specifically to support refactoring. Tool support varies across the different activities, with some particularly challenging activities seeing little use of tools in practice. Furthermore, our analysis suggests significant impact is possible through advances in tool support for comprehension and testing, as well as through support for the needs of business stakeholders.
@inproceedings{paperbot7044,
title = {Industry experiences with large-scale refactoring},
author = {James Ivers and Robert L. Nord and Ipek Ozkaya and Chris Seifried and Christopher S. Timperley and Marouane Kessentini},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3558954}
}