Recommending automated extract method refactorings - Danilo Ferreira e Silva (2014)
Extract Method is a key refactoring for improving program comprehension and maintainability. However, recent empirical research shows that the refactoring tools designed to automate this refactoring are often underused. To tackle this issue, we propose a novel approach to identify and rank Extract Method opportunities that are directly automated by IDE-based refactoring tools. JExtract, the tool we built to implement our approach, recommends the extraction of code fragments into new methods that encapsulate structural dependencies, based on the design principle of separation of concerns. Our evaluation shows that JExtract is more effective (w.r.t. recall and precision) than current state-of-the-art tools.