FaultBuster: An Automatic Code Smell Refactoring Toolset

TitleFaultBuster: An Automatic Code Smell Refactoring Toolset
Publication TypeConference Paper
Year of Publication2015
AuthorsSzőke G, Nagy C, Fülöp L J, Ferenc R, Gyimóthy T
Conference NameProceedings of the 15th International Working Conference on Source Code Analysis and Manipulation (SCAM 2015)
Date Publishedsep
PublisherIEEE Computer Society
Conference LocationBremen, Germany
KeywordsAntipatterns, automatic refactoring, code smells, coding issues, Columbus, SourceMeter

One solution to prevent the quality erosion of a software product is to maintain its quality by continuous refac-toring. However, refactoring is not always easy. Developers need to identify the piece of code that should be improved and decide how to rewrite it. Furthermore, refactoring can also be risky; that is, the modified code needs to be re-tested, so developers can see if they broke something. Many IDEs offer a range of refactorings to support so-called automatic refactoring, but tools which are really able to automatically refactor code smells are still under research. In this paper we introduce FaultBuster, a refactoring toolset which is able to support automatic refactoring: identifying the problematic code parts via static code analysis, running automatic algorithms to fix selected code smells, and executing integrated testing tools. In the heart of the toolset lies a refactoring framework to control the analysis and the execution of automatic algorithms. FaultBuster provides IDE plugins to interact with developers via popular IDEs (Eclipse, Netbeans and IntelliJ IDEA). All the tools were developed and tested in a 2-year project with 6 software development companies where thousands of code smells were identified and fixed in 5 systems having altogether over 5 million lines of code.