MC3: Multi-Objective Code Clone Configuration for Online Code Repositories - Sousa, Denis Menezes De (2025)
A detecção de clones é um processo automatizado para encontrar códigos duplicados dentro do código-fonte de um projeto ou entre fontes online, como plataformas de perguntas e respostas. Atualmente, a comunidade que estuda clonagem de código defende que os desenvolvedores devem estar cientes dos clones que podem existir em seus códigos para removê-los ou mantê-los, dependendo de seus objetivos. Para identificar clones automaticamente em um código-fonte, é necessário utilizar ferramentas de detecção de clones. Essas ferramentas são sensíveis às suas configurações, o que afeta diretamente suas capacidades de detecção. Certos estudos que implementaram processos de otimização de parâmetros em detectores de clones alcançaram configurações otimizadas que superaram as configurações padrão das ferramentas. No entanto, os métodos atuais de otimização de parâmetros para detectores de clones não são projetados para ferramentas baseadas em ranqueamento. Para lidar com essa limitação e apoiar a pesquisa empírica sobre clones de código, foi introduzido o Multi-objective Code Clone Configuration (MC3), uma abordagem inovadora que utiliza uma otimização multiobjetiva para identificar uma configuração ideal para de detecção de clones baseada em ranqueamento. A avaliação empírica incluiu a execução de três algoritmos de busca base, além do NSGA-II, para avaliar seu desempenho nesse novo contexto de otimização. Além disso, as configurações otimizadas foram comparadas com a configuração padrão. Os resultados obtidos indicaram que o NSGA-II foi o algoritmo com o melhor desempenho, identificando configurações superiores em comparação com os algoritmos base. Por fim, as configurações otimizadas demonstraram melhorias de 71,08% e 46,29% nas funções de aptidão.