Data-Driven Extract Method Recommendations: A Study at ING
This work addresses refactoring identification for large financial organizations like ING, but it is incremental as it applies existing machine learning methods to a new domain-specific dataset.
The study tackled the problem of identifying Extract Method refactoring opportunities in software engineering by comparing code metrics between open-source and ING systems, measuring model accuracy, and validating with expert opinions, finding that models achieved high accuracy and experts largely agreed with recommendations.
The sound identification of refactoring opportunities is still an open problem in software engineering. Recent studies have shown the effectiveness of machine learning models in recommending methods that should undergo different refactoring operations. In this work, we experiment with such approaches to identify methods that should undergo an Extract Method refactoring, in the context of ING, a large financial organization. More specifically, we (i) compare the code metrics distributions, which are used as features by the models, between open-source and ING systems, (ii) measure the accuracy of different machine learning models in recommending Extract Method refactorings, (iii) compare the recommendations given by the models with the opinions of ING experts. Our results show that the feature distributions of ING systems and open-source systems are somewhat different, that machine learning models can recommend Extract Method refactorings with high accuracy, and that experts tend to agree with most of the recommendations of the model.