Poster: The Buggy Side of Code Refactoring: Understanding the Relationship Between Refactorings and Bug
Poster: The Buggy Side of Code Refactoring: Understanding the Relationship Between Refactorings and Bug
复制标题
海报:代码重构的错误方面:了解重构与错误之间的关系
DOI:
10.1145/3183440.3195030
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
R. Mello
中科院分区:
文献类型:
--
作者:
Isabella Ferreira;Eduardo Fernandes;Diego Cedrim;Anderson G. Uchôa;Ana Carla Bibiano;Alessandro F. Garcia;J. Correia;Filipe Santos;Gabriel Nunes;Caio Barbosa;B. Neto;R. Mello
Code refactoring is widely practiced by software developers. There is an explicit assumption that code refactoring improves the structural quality of a software project, thereby also reducing its bug proneness. However, refactoring is often applied with different purposes in practice. Depending on the complexity of certain refactorings, developers might unconsciously make the source code more susceptible to have bugs. In this paper, we present a longitudinal study of 5 Java open source projects, where 20,689 refactorings, and 1,033 bug reports were analyzed. We found that many bugs are introduced in the refactored code as soon as the first immediate change is made on it. Furthermore, code elements affected by refactorings performed in conjunction with other changes are more prone to have bugs than those affected by pure refactorings.