Are refactorings less error-prone than other changes?

Peter Weißgerber, Stephan Diehl
2006 Proceedings of the 2006 international workshop on Mining software repositories - MSR '06  
Refactorings are program transformations which should preserve the program behavior. Consequently, we expect that during phases when there are mostly refactorings in the change history of a system, only few new bugs are introduced. For our case study we analyzed the version histories of several open source systems and reconstructed the refactorings performed. Furthermore, we obtained bug reports from various sources depending on the system. Based on this data we identify phases when the above
more » ... pothesis holds and those when it doesn't. the percentage of refactorings per day to the ratio of bugs opened within the next 5 days. The remainder of this paper is organized as follows: In Section 2 we describe how we reconstruct refactorings and other changes from version archives. Then, we explain in Section 3 how we relate these changes to bugs that have emerged in the lifetime of a software system. For the case study in Section 4 we applied our technique to three opensource systems. Section 5 discusses related work and Section 6 concludes this paper.
doi:10.1145/1137983.1138011 dblp:conf/msr/WeissgerberD06 fatcat:i2jrexazwvgnfduigf6rkqdxim