Exportação concluída — 

On the detection of code clones with sequence of method calls

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: Alexandre Martins Paiva
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Minas Gerais
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1843/ESBF-AFWNK8
Resumo: Software 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.
id UFMG_8db045aa4ea3b8bcc08b6c11282fd7ab
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-AFWNK8
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling 2019-08-11T23:43:34Z2025-09-09T00:47:09Z2019-08-11T23:43:34Z2016-05-11https://hdl.handle.net/1843/ESBF-AFWNK8Software 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.Universidade Federal de Minas Geraismétodo de detecçãocódigo clonadoMétodo de detecção código clonadoComputaçãoClonagem de códigoOn the detection of code clones with sequence of method callsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisAlexandre Martins Paivainfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGEduardo Magno Lages FigueiredoHumberto Torres Marques NetoMariza Andrade da Silva BigonhaDesenvolvedores 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.UFMGORIGINALalexandremartinspaiva.pdfapplication/pdf1758423https://repositorio.ufmg.br//bitstreams/a0b47d3d-3779-4bb2-8383-3ee9b7f74239/download299689cabdf287dca29967f5182d131fMD51trueAnonymousREADTEXTalexandremartinspaiva.pdf.txttext/plain151281https://repositorio.ufmg.br//bitstreams/e24da173-3a2f-4086-9154-78bbd4ec9fbf/download4898a4e262387c54e6b2ffbb1a73418dMD52falseAnonymousREAD1843/ESBF-AFWNK82025-09-08 21:47:09.067open.accessoai:repositorio.ufmg.br:1843/ESBF-AFWNK8https://repositorio.ufmg.br/Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-09T00:47:09Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.none.fl_str_mv On the detection of code clones with sequence of method calls
title On the detection of code clones with sequence of method calls
spellingShingle On the detection of code clones with sequence of method calls
Alexandre Martins Paiva
Método de detecção código clonado
Computação
Clonagem de código
método de detecção
código clonado
title_short On the detection of code clones with sequence of method calls
title_full On the detection of code clones with sequence of method calls
title_fullStr On the detection of code clones with sequence of method calls
title_full_unstemmed On the detection of code clones with sequence of method calls
title_sort On the detection of code clones with sequence of method calls
author Alexandre Martins Paiva
author_facet Alexandre Martins Paiva
author_role author
dc.contributor.author.fl_str_mv Alexandre Martins Paiva
dc.subject.por.fl_str_mv Método de detecção código clonado
Computação
Clonagem de código
topic Método de detecção código clonado
Computação
Clonagem de código
método de detecção
código clonado
dc.subject.other.none.fl_str_mv método de detecção
código clonado
description Software 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.
publishDate 2016
dc.date.issued.fl_str_mv 2016-05-11
dc.date.accessioned.fl_str_mv 2019-08-11T23:43:34Z
2025-09-09T00:47:09Z
dc.date.available.fl_str_mv 2019-08-11T23:43:34Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1843/ESBF-AFWNK8
url https://hdl.handle.net/1843/ESBF-AFWNK8
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br//bitstreams/a0b47d3d-3779-4bb2-8383-3ee9b7f74239/download
https://repositorio.ufmg.br//bitstreams/e24da173-3a2f-4086-9154-78bbd4ec9fbf/download
bitstream.checksum.fl_str_mv 299689cabdf287dca29967f5182d131f
4898a4e262387c54e6b2ffbb1a73418d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1862105713932763136