What Refactoring Topics Do Developers Discuss? A Large Scale Empirical Study Using Stack Overflow
IEEE ACCESS(2022)
摘要
Due to the growing complexity of software systems, there has been a dramatic increase in research and industry demand on refactoring. Refactoring research nowadays addresses challenges beyond code transformation to include, but not limited to, scheduling the opportune time to carry refactoring, recommending specific refactoring activities, detecting refactoring opportunities and testing the correctness of applied refactorings. Very few studies focused on the challenges that practitioners face when refactoring software systems and what should be the current refactoring research focus from the developers' perspective. Without such knowledge, tool builders invest in the wrong direction, and researchers miss many opportunities for improving the practice of refactoring. In this paper, we collected data from the popular online Q&A site, Stack Overflow, and analyzed posts to identify what do developers ask about refactoring. We clustered these questions to find the different refactoring related topics using one of the most popular topic modeling algorithms, Latent Dirichlet Allocation (LDA). We found that developers are asking about design patterns, design and user interface refactoring, web services, parallel programming, and mobile apps. We also identified what popular refactoring challenges are the most difficult and the current important topics and questions related to refactoring. Moreover, we discovered gaps between existing research on refactoring and the challenges developers face. To the best of our knowledge, this paper represents the first Stack Overflow study to identify the refactoring topics discussed by developers. Our study can help researchers to focus on practical refactoring problems, practitioners know more about current challenges and build better refactoring tools, and educators revise curriculum to target current needs on refactoring.
更多查看译文
关键词
Faces, Software systems, Resource management, Parallel programming, Mobile applications, Market research, Information services, Empirical study, stack overflow, refactoring
AI 理解论文
溯源树
样例
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要