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
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2014 |
| Tipo de documento: | Dissertação |
| Idioma: | por |
| Título da fonte: | Repositório Institucional da Universidade Federal do Ceará (UFC) |
| Texto Completo: | http://www.repositorio.ufc.br/handle/riufc/10841 |
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-7_ee2a7dad57752260445f9cd17f09e89a |
|---|---|
| oai_identifier_str |
oai:repositorio.ufc.br:riufc/10841 |
| network_acronym_str |
UFC-7 |
| network_name_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| repository_id_str |
|
| spelling |
Maciel, Danilo LealSoares, José Marques2015-03-04T16:07:48Z2015-03-04T16:07:48Z2014MACIEL. D. L. 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. 2014. 105 f. Dissertação (Mestrado em Engenharia de Teleinformática) - Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2014.http://www.repositorio.ufc.br/handle/riufc/10841This 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.TeleinformáticaLinguagem de programaçãoSherlock N-Overlap: normalização invasiva e coeficiente de sobreposição para análise de similaridade entre códigos-fonte em disciplinas de programaçãoSherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplinesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFCinfo:eu-repo/semantics/openAccessLICENSElicense.txtlicense.txttext/plain; charset=utf-81786http://repositorio.ufc.br/bitstream/riufc/10841/2/license.txt8c4401d3d14722a7ca2d07c782a1aab3MD52ORIGINAL2014_dis_dlmaciel.pdf2014_dis_dlmaciel.pdfapplication/pdf3409582http://repositorio.ufc.br/bitstream/riufc/10841/1/2014_dis_dlmaciel.pdf8d85d508f02fe688e23c17dd70679cb4MD51riufc/108412022-02-23 10:33:38.285oai:repositorio.ufc.br:riufc/10841w4kgbmVjZXNzw6FyaW8gY29uY29yZGFyIGNvbSBhIGxpY2Vuw6dhIGRlIGRpc3RyaWJ1acOnw6NvIG7Do28tZXhjbHVzaXZhLAphbnRlcyBxdWUgbyBkb2N1bWVudG8gcG9zc2EgYXBhcmVjZXIgbm8gUmVwb3NpdMOzcmlvLiBQb3IgZmF2b3IsIGxlaWEgYQpsaWNlbsOnYSBhdGVudGFtZW50ZS4gQ2FzbyBuZWNlc3NpdGUgZGUgYWxndW0gZXNjbGFyZWNpbWVudG8gZW50cmUgZW0KY29udGF0byBhdHJhdsOpcyBkZTogcmVwb3NpdG9yaW9AdWZjLmJyIG91ICg4NSkzMzY2LTk1MDguCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQW8gYXNzaW5hciBlIGVudHJlZ2FyIGVzdGEgbGljZW7Dp2EsIG8vYSBTci4vU3JhLiAoYXV0b3Igb3UgZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGRlIGF1dG9yKToKCmEpIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZG8gQ2VhcsOhIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZQpyZXByb2R1emlyLCBjb252ZXJ0ZXIgKGNvbW8gZGVmaW5pZG8gYWJhaXhvKSwgY29tdW5pY2FyIGUvb3UKZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbQpmb3JtYXRvIGRpZ2l0YWwgb3UgaW1wcmVzc28gZSBlbSBxdWFscXVlciBtZWlvLgoKYikgRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZQpkZXTDqW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBEZWNsYXJhIHRhbWLDqW0gcXVlIGEgZW50cmVnYSBkbyBkb2N1bWVudG8gbsOjbyBpbmZyaW5nZSwgdGFudG8gcXVhbnRvIGxoZSDDqSBwb3Nzw612ZWwgc2FiZXIsIG9zIGRpcmVpdG9zIGRlIHF1YWxxdWVyIG91dHJhIHBlc3NvYSBvdSBlbnRpZGFkZS4KCmMpIFNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBuw6NvIGRldMOpbSBvcwpkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGF1dG9yaXphw6fDo28gZG8gZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZG8gQ2VhcsOhIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MgZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLgoKU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8KcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBDZWFyw6EsIGRlY2xhcmEgcXVlIGN1bXByaXUgcXVhaXNxdWVyIG9icmlnYcOnw7VlcyBleGlnaWRhcyBwZWxvIHJlc3BlY3Rpdm8gY29udHJhdG8gb3UKYWNvcmRvLgoKQSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBDZWFyw6EgaWRlbnRpZmljYXLDoSBjbGFyYW1lbnRlIG8ocykgc2V1IChzKSBub21lIChzKSBjb21vIG8gKHMpIGF1dG9yIChlcykgb3UgZGV0ZW50b3IgKGVzKSBkb3MgZGlyZWl0b3MgZG8gZG9jdW1lbnRvIGVudHJlZ3VlLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2022-02-23T13:33:38Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false |
| dc.title.pt_BR.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 |
| dc.title.en.pt_BR.fl_str_mv |
Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines |
| title |
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 |
| spellingShingle |
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 Maciel, Danilo Leal Teleinformática Linguagem de programação |
| title_short |
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_full |
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_fullStr |
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_full_unstemmed |
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_sort |
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 |
| author |
Maciel, Danilo Leal |
| author_facet |
Maciel, Danilo Leal |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Maciel, Danilo Leal |
| dc.contributor.advisor1.fl_str_mv |
Soares, José Marques |
| contributor_str_mv |
Soares, José Marques |
| dc.subject.por.fl_str_mv |
Teleinformática Linguagem de programação |
| topic |
Teleinformática Linguagem de programação |
| 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 |
| dc.date.accessioned.fl_str_mv |
2015-03-04T16:07:48Z |
| dc.date.available.fl_str_mv |
2015-03-04T16:07:48Z |
| 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.citation.fl_str_mv |
MACIEL. D. L. 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. 2014. 105 f. Dissertação (Mestrado em Engenharia de Teleinformática) - Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2014. |
| dc.identifier.uri.fl_str_mv |
http://www.repositorio.ufc.br/handle/riufc/10841 |
| identifier_str_mv |
MACIEL. D. L. 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. 2014. 105 f. Dissertação (Mestrado em Engenharia de Teleinformática) - Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2014. |
| url |
http://www.repositorio.ufc.br/handle/riufc/10841 |
| 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.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal do Ceará (UFC) instname:Universidade Federal do Ceará (UFC) instacron:UFC |
| instname_str |
Universidade Federal do Ceará (UFC) |
| instacron_str |
UFC |
| institution |
UFC |
| reponame_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| collection |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| bitstream.url.fl_str_mv |
http://repositorio.ufc.br/bitstream/riufc/10841/2/license.txt http://repositorio.ufc.br/bitstream/riufc/10841/1/2014_dis_dlmaciel.pdf |
| bitstream.checksum.fl_str_mv |
8c4401d3d14722a7ca2d07c782a1aab3 8d85d508f02fe688e23c17dd70679cb4 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC) |
| repository.mail.fl_str_mv |
bu@ufc.br || repositorio@ufc.br |
| _version_ |
1847792185651494912 |