Refactoring Recommendations with Machine Learning - Armijo, Guisella A.; Camargo, Valter V. de (Anais Estendidos do Simpósio Brasileiro de Qualidade de Software (SBQS); 2022: Anais Estendidos do XXI Simpósio Brasileiro de Qualidade de Software, 2022)
A refatoração é uma atividade bem conhecida na engenharia de software que visa alterar um trecho de código-fonte para melhorar os atributos de qualidade estrutural sem alterar o comportamento externo. Sabe-se que a refatoração manual é uma prática comum, mas é uma atividade demorada e sujeita a erros. Na literatura é possível encontrar abordagens cujo objetivo é recomendar automaticamente refatorações para engenheiros de software. O objetivo é principalmente melhorar a produtividade e a qualidade interna dos sistemas. No entanto, observamos que as abordagens de recomendações de refatoração ainda são imaturas, mesmo aquelas baseadas em Machine Learning (ML). Assim, este doutorado visa pesquisar como ML, juntamente com modelos de explicabilidade, podem ser usados para melhorar as recomendações de refatoração.