• A technique to improve the success rate of applying the extract method refactoring. • An empirical study about usability and refactoring tools. • A tool that proposes alternative text selection for source code refactoring. • An empirical evaluation of the proposed tool. Context: Most modern programming environments support refactorings. Although refactorings are relevant to improve the quality of software source code, they unfortunately suffer from severe usability issues. In particular, the extract method refactoring, one of the most prominent refactorings, has a failure rate of 49% when users attempt to use it. Objective: Our main objective is to improve the success rate of applying the extract method refactoring. Methods: First, to understand the cause of refactoring failure, we conducted a partial replication of Vakilian's ICSE '14 study about usability issues of refactoring using IntelliJ IDEA. Second, we designed and implemented TOAD, a tool that proposes alternative text selection for source code refactoring for the Pharo programming language. Third, we evaluated TOAD using a controlled experiment against the standard Pharo code refactoring tool. Seven professional software engineers complemented with three undergrad students participated in our experiments. Conclusion: The causes we identified of failed extract method refactoring attempts match Vakilian's work. TOAD significantly reduces the number of failed attempts to run the extract method refactoring at a lower cognitive load cost.
Read full abstract