Bulk Fixing Coding Issues and Its Effects on Software Quality: Is It Worth Refactoring?

Gabor Szoke, Gabor Antal, Csaba Nagy, Rudolf Ferenc, Tibor Gyimothy
2014 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation  
The quality of a software system is mostly defined by its source code. Software evolves continuously, it gets modified, enhanced, and new requirements always arise. If we do not spend time periodically on improving our source code, it becomes messy and its quality will decrease inevitably. Literature tells us that we can improve the quality of our software product by regularly refactoring it. But does refactoring really increase software quality? Can it happen that a refactoring decreases the
more » ... ality? Is it possible to recognize the change in quality caused by a single refactoring operation? In our paper, we seek answers to these questions in a case study of refactoring large-scale proprietary software systems. We analyzed the source code of 5 systems, and measured the quality of several revisions for a period of time. We analyzed 2 million lines of code and identified nearly 200 refactoring commits which fixed over 500 coding issues. We found that one single refactoring only makes a small change (sometimes even decreases quality), but when we do them in blocks, we can significantly increase quality, which can result not only in the local, but also in the global improvement of the code.
doi:10.1109/scam.2014.18 dblp:conf/scam/SzokeANFG14 fatcat:6aigkzdaerguzgyyw2oj7viqse