On the Relationship between Refactoring Actions and Bugs: A Differentiated Replication
Massimiliano Di Penta, Gabriele Bavota, Fiorella Zampetti

TL;DR
This study investigates how specific refactoring actions relate to bug introduction, replicating and expanding upon prior research with a larger dataset and qualitative analysis to clarify refactoring's role in bugs.
Contribution
It provides a differentiated replication of previous work, using a larger dataset and combining quantitative and qualitative methods to better understand refactoring's impact on bugs.
Findings
Quantitative analysis confirms previous findings about refactoring and bugs.
Qualitative analysis shows refactoring actions only partially trigger bug fixes.
Study improves experimental design and scales analysis to more systems.
Abstract
Software refactoring aims at improving code quality while preserving the system's external behavior. Although in principle refactoring is a behavior-preserving activity, a study presented by Bavota et al. in 2012 reported the proneness of some refactoring actions (e.g., pull up method) to induce faults. The study was performed by mining refactoring activities and bugs from three systems. Taking profit of the advances made in the mining software repositories field (e.g., better tools to detect refactoring actions at commit-level granularity), we present a differentiated replication of the work by Bavota et al. in which we (i) overcome some of the weaknesses that affect their experimental design, (ii) answer the same research questions of the original study on a much larger dataset (3 vs 103 systems), and (iii) complement the quantitative analysis of the relationship between refactoring…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
