Automating the Refactoring Process

  • Gábor Szőke
Keywords: refactoring, code smells, reverse ast-search, spatial index

Abstract

To decrease software maintenance cost, software development companies use static source code analysis techniques. Static analysis tools are capable of finding potential bugs, anti-patterns, coding rule violations, and they can also enforce coding style standards. Although there are several available static analyzers to choose from, they only support issue detection. The elimination of the issues is still performed manually by developers. Here, we propose a process that supports the automatic elimination of coding issues in Java. We introduce a tool that uses a third-party static analyzer as input and enables developers to automatically fix the detected issues for them. Our tool uses a special technique, called reverse AST-search, to locate source code elements in a syntax tree, just based on location information. Our tool was evaluated and tested in a two-year project with six software development companies where thousands of code smells were identified and fixed in five systems that have altogether over five million lines of code.

Downloads

Download data is not yet available.
Published
2017-06-01
How to Cite
Szőke, G. (2017). Automating the Refactoring Process. Acta Cybernetica, 23(2), 715-735. https://doi.org/10.14232/actacyb.23.2.2017.16
Section
Regular articles