arrow
返回

Why Do Developers Reject Refactorings in Open-Source Projects?

delete2021-12-24
delete4
PRE
AI
J
Jevgenija Pantiuchina *
B
Bin Lin
F
Fiorella Zampetti
M
Massimiliano Di Penta
M
Michele Lanza
G
Gabriele Bavota
DOI:10.1145/3487062delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Refactoring operations are behavior-preserving changes aimed at improving source code quality. While refactoring is largely considered a good practice, refactoring proposals in pull requests are often rejected after the code review. Understanding the reasons behind the rejection of refactoring contributions can shed light on how such contributions can be improved, essentially benefiting software quality. This article reports a study in which we manually coded rejection reasons inferred from 330 refactoringrelated pull requests from 207 open-source Java projects. We surveyed 267 developers to assess their perceived prevalence of these identified rejection reasons, further complementing the reasons. Our study resulted in a comprehensive taxonomy consisting of 26 refactoring-related rejection reasons and 21 process-related rejection reasons. The taxonomy, accompanied with representative examples and highlighted implications, provides developers with valuable insights on how to ponder and polish their refactoring contributions, and indicates a number of directions researchers can pursue toward better refactoring recommenders.
Keyword:
Refactoring
empirical software engineering

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

U
Universita della Svizzera Italiana
学者数:
3.3K
论文数: 2.8K
被引数: 3
University of Sannio 封面图
University of Sannio
学者数:
2.3K
论文数: 2.2K
被引数: 2.3K