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

TitleBulk Fixing Coding Issues and Its Effects on Software Quality: Is It Worth Refactoring?
Publication TypeConference Paper
Year of Publication2014
AuthorsSzőke G, Antal G, Nagy C, Ferenc R, Gyimóthy T
Conference NameProceedings of the 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2014)
Date Publishedsep
PublisherIEEE Computer Society
Conference LocationVictoria, British Columbia, Canada
KeywordsAntipatterns, coding issues, ISO/IEC 25010, maintainability, software quality

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 quality? 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.