On the detection of code clones with sequence of method calls

dc.creatorAlexandre Martins Paiva
dc.date.accessioned2019-08-11T23:43:34Z
dc.date.accessioned2025-09-09T00:47:09Z
dc.date.available2019-08-11T23:43:34Z
dc.date.issued2016-05-11
dc.description.abstractSoftware developers usually copy and paste code from a part of the system to another. This practice, called code clone, spreads same logic all over the system, hardening maintenance and evolution tasks. Several methods were proposed in order to locate code clones for further elimination. However, some types of code clones are hard to find, specially when the parts receive different changes. This work proposes a method for detecting code clones analyzing sequence of method calls. Our results were compared with code clones detected by a state of the practice tool, called PMD. In addition, a user study was conducted in order to manually evaluate the detections. Participants analyzed the code clones detected by our method. This user study showed that more than 90% of subjects agree with the code clones found by the method. Therefore, results so far indicate that sequence of method calls analysis is a valid strategy for code clone detection.
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-AFWNK8
dc.languageInglês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectMétodo de detecção código clonado
dc.subjectComputação
dc.subjectClonagem de código
dc.subject.othermétodo de detecção
dc.subject.othercódigo clonado
dc.titleOn the detection of code clones with sequence of method calls
dc.typeDissertação de mestrado
local.contributor.advisor1Eduardo Magno Lages Figueiredo
local.contributor.referee1Humberto Torres Marques Neto
local.contributor.referee1Mariza Andrade da Silva Bigonha
local.description.resumoDesenvolvedores 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.
local.publisher.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
alexandremartinspaiva.pdf
Tamanho:
1.68 MB
Formato:
Adobe Portable Document Format