On the detection of code clones with sequence of method calls

Alexandre Martins Paiva · Americanae (AECID Library) · 2016

Desenvolvedores de software geralmente copiam e colam código de uma parte do sistema para outro. Esta prática, chamada de clonagem de código, dispersa uma mesma lógica em diferentes pontos do sistema, dificultando as tarefas de manutenção e evolução. Vários métodos foram propostos a fim de localizar códigos clonados para posterior eliminação. No entanto, alguns tipos de códigos clonados são difíceis de encontrar, especialmente quando as partes recebem diferentes alterações. Este trabalho propõe um método para detectar códigos clonados usando chamadas de método. Esse método se baseia em busca códigos clonados em sistemas de código aberto analisando sequências de chamadas de métodos. Os resultados foram comparados com os códigos clonados detectados por um ferramenta largamente utilizada, chamada PMD. A fim de avaliar o nosso método, um estudo foi realizado com 25 desenvolvedores. Por meio de inspeção de código, os participantes analisaram códigos clonados encontrados pelo nosso método. Este estudo mostrou que mais de 90% dos participantes concordaram como sendo clones os trechos de código encontrados pelo método. Portanto, os resultados até agora indicam que análise de sequência de chamadas de método é uma estratégia válida para localização de códigos clonados.

Read the paper · More papers on PaperTik