A identificação sólida de oportunidades de refatoração ainda é um problema em aberto na engenharia de software. Estudos recentes têm demonstrado a eficácia dos modelos de aprendizado de máquina na recomendação de métodos que devem passar por diferentes operações de refatoração.

Neste trabalho, experimentamos tais abordagens para identificar métodos que deveriam passar por uma refatoração do Extract Method, no contexto do ING, uma grande organização financeira. Mais especificamente, (i) comparamos as distribuições de métricas de código, que são usadas como recursos pelos modelos, entre sistemas de código aberto e ING, (ii) medimos a precisão de diferentes modelos de aprendizado de máquina na recomendação de refatorações do Método de Extração, (iii) comparamos as recomendações dadas pelos modelos com as opiniões de especialistas do ING.

Nossos resultados mostram que as distribuições de recursos dos sistemas ING e dos sistemas de código aberto são um pouco diferentes, que os modelos de aprendizado de máquina podem recomendar refatorações do Método de Extração com alta precisão e que os especialistas tendem a concordar com a maioria das recomendações do modelo.