Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines
Autor(a) principal: | |
---|---|
Data de Publicação: | 2014 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFC |
Texto Completo: | http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=12195 |
Resumo: | This work is contextualized in the problem of plagiarism detection among source codes in programming classes. Despite the wide set of tools available for the detection of plagiarism, only few tools are able to effectively identify all lexical and semantic similarities between pairs of codes, because of the complexity inherent to this type of analysis. Therefore to the problem and the scenario in question, it was made a study about the main approaches discussed in the literature on detecting plagiarism in source code and as a main contribution, conceived to be a relevant tool in the field of laboratory practices. The tool is based on Sherlock algorithm, which has been enhanced as of two perspectives: firstly, with changes in the similarity coefficient used by the algorithm in order to improve its sensitivity for comparison of signatures; secondly, proposing intrusive techniques preprocessing that, besides eliminating irrelevant information, are also able to overemphasize structural aspects of the programming language, or gathering separating strings whose meaning is more significant for the comparison or even eliminating sequences less relevant to highlight other enabling better inference about the degree of similarity. The tool, called Sherlock N-Overlap was subjected to rigorous evaluation methodology, both in simulated scenarios as classes in programming, with results exceeding tools currently highlighted in the literature on plagiarism detection. |
id |
UFC_192a4322d822f62b0bf3cc309da74124 |
---|---|
oai_identifier_str |
oai:www.teses.ufc.br:8342 |
network_acronym_str |
UFC |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFC |
spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisSherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplinesSherlock N-Overlap: normalizaÃÃo invasiva e coeficiente de sobreposiÃÃo para anÃlise de similaridade entre cÃdigos-fonte em disciplinas de programaÃÃo2014-07-07Josà Marques Soares82440026700http://lattes.cnpq.br/3186709749685737Danielo GonÃalves Gomes42593751304//lattes.cnpq.br/6303297687237256George Andrà Pereira ThÃ62147390372http://lattes.cnpq.br/6398510210462764Ig Ibert Bittencourt Santana Pinto 04306525422http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4265484E4 60020864396http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4211286Z5Danilo Leal MacielUniversidade Federal do CearÃPrograma de PÃs-GraduaÃÃo em Engenharia de TeleinformÃticaUFCBRDetecÃÃo de plÃgio AnÃlise de similaridadeplagiarism detection, similarity analysis, laboratory programming practicesCIENCIA DA COMPUTACAOThis work is contextualized in the problem of plagiarism detection among source codes in programming classes. Despite the wide set of tools available for the detection of plagiarism, only few tools are able to effectively identify all lexical and semantic similarities between pairs of codes, because of the complexity inherent to this type of analysis. Therefore to the problem and the scenario in question, it was made a study about the main approaches discussed in the literature on detecting plagiarism in source code and as a main contribution, conceived to be a relevant tool in the field of laboratory practices. The tool is based on Sherlock algorithm, which has been enhanced as of two perspectives: firstly, with changes in the similarity coefficient used by the algorithm in order to improve its sensitivity for comparison of signatures; secondly, proposing intrusive techniques preprocessing that, besides eliminating irrelevant information, are also able to overemphasize structural aspects of the programming language, or gathering separating strings whose meaning is more significant for the comparison or even eliminating sequences less relevant to highlight other enabling better inference about the degree of similarity. The tool, called Sherlock N-Overlap was subjected to rigorous evaluation methodology, both in simulated scenarios as classes in programming, with results exceeding tools currently highlighted in the literature on plagiarism detection.Este trabalho se contextualiza no problema da detecÃÃo de plÃgio entre cÃdigos-fonte em turmas de programaÃÃo. Apesar da ampla quantidade de ferramentas disponÃveis para a detecÃÃo de plÃgio, poucas sÃo capazes de identificar, de maneira eficaz, todas as semelhanÃas lÃxicas e semÃnticas entre pares de cÃdigos, o que se deve à complexidade inerente a esse tipo de anÃlise. Fez-se, portanto, para o problema e o cenÃrio em questÃo, um estudo das principais abordagens discutidas na literatura sobre detecÃÃo de plÃgio em cÃdigo-fonte e, como principal contribuiÃÃo, concebeu-se uma ferramenta aplicÃvel no domÃnio de prÃticas laboratoriais. A ferramenta tem por base o algoritmo Sherlock, que foi aprimorado sob duas perspectivas: a primeira, com modificaÃÃes no coeficiente de similaridade usado pelo algoritmo, de maneira a melhorar a sua sensibilidade para comparaÃÃo de assinaturas; a segunda, propondo tÃcnicas de prÃ-processamento invasivas que, alÃm de eliminar informaÃÃo irrelevante, sejam tambÃm capazes de sobrevalorizar aspectos estruturais da linguagem de programaÃÃo, reunindo ou separando sequÃncias de caracteres cujo significado seja mais expressivo para a comparaÃÃo ou, ainda, eliminando sequÃncias menos relevantes para destacar outras que permitam melhor inferÃncia sobre o grau de similaridade. A ferramenta, denominada Sherlock N-Overlap, foi submetida a rigorosa metodologia de avaliaÃÃo, tanto em cenÃrios simulados como em turmas de programaÃÃo, apresentando resultados superiores a ferramentas atualmente em destaque na literatura sobre detecÃÃo de plÃgio.CoordenaÃÃo de AperfeÃoamento de Pessoal de NÃvel Superior http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=12195application/pdfinfo:eu-repo/semantics/openAccessporreponame:Biblioteca Digital de Teses e Dissertações da UFCinstname:Universidade Federal do Cearáinstacron:UFC2019-01-21T11:25:23Zmail@mail.com - |
dc.title.en.fl_str_mv |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
dc.title.alternative.pt.fl_str_mv |
Sherlock N-Overlap: normalizaÃÃo invasiva e coeficiente de sobreposiÃÃo para anÃlise de similaridade entre cÃdigos-fonte em disciplinas de programaÃÃo |
title |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
spellingShingle |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines Danilo Leal Maciel DetecÃÃo de plÃgio AnÃlise de similaridade plagiarism detection, similarity analysis, laboratory programming practices CIENCIA DA COMPUTACAO |
title_short |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
title_full |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
title_fullStr |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
title_full_unstemmed |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
title_sort |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
author |
Danilo Leal Maciel |
author_facet |
Danilo Leal Maciel |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Josà Marques Soares |
dc.contributor.advisor1ID.fl_str_mv |
82440026700 |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/3186709749685737 |
dc.contributor.referee1.fl_str_mv |
Danielo GonÃalves Gomes |
dc.contributor.referee1ID.fl_str_mv |
42593751304 |
dc.contributor.referee1Lattes.fl_str_mv |
//lattes.cnpq.br/6303297687237256 |
dc.contributor.referee2.fl_str_mv |
George Andrà Pereira Thà |
dc.contributor.referee2ID.fl_str_mv |
62147390372 |
dc.contributor.referee2Lattes.fl_str_mv |
http://lattes.cnpq.br/6398510210462764 |
dc.contributor.referee3.fl_str_mv |
Ig Ibert Bittencourt Santana Pinto |
dc.contributor.referee3ID.fl_str_mv |
04306525422 |
dc.contributor.referee3Lattes.fl_str_mv |
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4265484E4 |
dc.contributor.authorID.fl_str_mv |
60020864396 |
dc.contributor.authorLattes.fl_str_mv |
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4211286Z5 |
dc.contributor.author.fl_str_mv |
Danilo Leal Maciel |
contributor_str_mv |
Josà Marques Soares Danielo GonÃalves Gomes George Andrà Pereira Thà Ig Ibert Bittencourt Santana Pinto |
dc.subject.por.fl_str_mv |
DetecÃÃo de plÃgio AnÃlise de similaridade |
topic |
DetecÃÃo de plÃgio AnÃlise de similaridade plagiarism detection, similarity analysis, laboratory programming practices CIENCIA DA COMPUTACAO |
dc.subject.eng.fl_str_mv |
plagiarism detection, similarity analysis, laboratory programming practices |
dc.subject.cnpq.fl_str_mv |
CIENCIA DA COMPUTACAO |
dc.description.sponsorship.fl_txt_mv |
CoordenaÃÃo de AperfeÃoamento de Pessoal de NÃvel Superior |
dc.description.abstract.por.fl_txt_mv |
This work is contextualized in the problem of plagiarism detection among source codes in programming classes. Despite the wide set of tools available for the detection of plagiarism, only few tools are able to effectively identify all lexical and semantic similarities between pairs of codes, because of the complexity inherent to this type of analysis. Therefore to the problem and the scenario in question, it was made a study about the main approaches discussed in the literature on detecting plagiarism in source code and as a main contribution, conceived to be a relevant tool in the field of laboratory practices. The tool is based on Sherlock algorithm, which has been enhanced as of two perspectives: firstly, with changes in the similarity coefficient used by the algorithm in order to improve its sensitivity for comparison of signatures; secondly, proposing intrusive techniques preprocessing that, besides eliminating irrelevant information, are also able to overemphasize structural aspects of the programming language, or gathering separating strings whose meaning is more significant for the comparison or even eliminating sequences less relevant to highlight other enabling better inference about the degree of similarity. The tool, called Sherlock N-Overlap was subjected to rigorous evaluation methodology, both in simulated scenarios as classes in programming, with results exceeding tools currently highlighted in the literature on plagiarism detection. Este trabalho se contextualiza no problema da detecÃÃo de plÃgio entre cÃdigos-fonte em turmas de programaÃÃo. Apesar da ampla quantidade de ferramentas disponÃveis para a detecÃÃo de plÃgio, poucas sÃo capazes de identificar, de maneira eficaz, todas as semelhanÃas lÃxicas e semÃnticas entre pares de cÃdigos, o que se deve à complexidade inerente a esse tipo de anÃlise. Fez-se, portanto, para o problema e o cenÃrio em questÃo, um estudo das principais abordagens discutidas na literatura sobre detecÃÃo de plÃgio em cÃdigo-fonte e, como principal contribuiÃÃo, concebeu-se uma ferramenta aplicÃvel no domÃnio de prÃticas laboratoriais. A ferramenta tem por base o algoritmo Sherlock, que foi aprimorado sob duas perspectivas: a primeira, com modificaÃÃes no coeficiente de similaridade usado pelo algoritmo, de maneira a melhorar a sua sensibilidade para comparaÃÃo de assinaturas; a segunda, propondo tÃcnicas de prÃ-processamento invasivas que, alÃm de eliminar informaÃÃo irrelevante, sejam tambÃm capazes de sobrevalorizar aspectos estruturais da linguagem de programaÃÃo, reunindo ou separando sequÃncias de caracteres cujo significado seja mais expressivo para a comparaÃÃo ou, ainda, eliminando sequÃncias menos relevantes para destacar outras que permitam melhor inferÃncia sobre o grau de similaridade. A ferramenta, denominada Sherlock N-Overlap, foi submetida a rigorosa metodologia de avaliaÃÃo, tanto em cenÃrios simulados como em turmas de programaÃÃo, apresentando resultados superiores a ferramentas atualmente em destaque na literatura sobre detecÃÃo de plÃgio. |
description |
This work is contextualized in the problem of plagiarism detection among source codes in programming classes. Despite the wide set of tools available for the detection of plagiarism, only few tools are able to effectively identify all lexical and semantic similarities between pairs of codes, because of the complexity inherent to this type of analysis. Therefore to the problem and the scenario in question, it was made a study about the main approaches discussed in the literature on detecting plagiarism in source code and as a main contribution, conceived to be a relevant tool in the field of laboratory practices. The tool is based on Sherlock algorithm, which has been enhanced as of two perspectives: firstly, with changes in the similarity coefficient used by the algorithm in order to improve its sensitivity for comparison of signatures; secondly, proposing intrusive techniques preprocessing that, besides eliminating irrelevant information, are also able to overemphasize structural aspects of the programming language, or gathering separating strings whose meaning is more significant for the comparison or even eliminating sequences less relevant to highlight other enabling better inference about the degree of similarity. The tool, called Sherlock N-Overlap was subjected to rigorous evaluation methodology, both in simulated scenarios as classes in programming, with results exceeding tools currently highlighted in the literature on plagiarism detection. |
publishDate |
2014 |
dc.date.issued.fl_str_mv |
2014-07-07 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
status_str |
publishedVersion |
format |
masterThesis |
dc.identifier.uri.fl_str_mv |
http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=12195 |
url |
http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=12195 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal do Cearà |
dc.publisher.program.fl_str_mv |
Programa de PÃs-GraduaÃÃo em Engenharia de TeleinformÃtica |
dc.publisher.initials.fl_str_mv |
UFC |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
Universidade Federal do Cearà |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFC instname:Universidade Federal do Ceará instacron:UFC |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFC |
collection |
Biblioteca Digital de Teses e Dissertações da UFC |
instname_str |
Universidade Federal do Ceará |
instacron_str |
UFC |
institution |
UFC |
repository.name.fl_str_mv |
-
|
repository.mail.fl_str_mv |
mail@mail.com |
_version_ |
1643295190275850240 |