Return to search

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 / Sherlock N-Overlap: normalization invasive and overlap coefficient for analysis of similarity between source code in programming disciplines

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. / Submitted by Marlene Sousa (mmarlene@ufc.br) on 2015-02-27T18:39:59Z
No. of bitstreams: 1
2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5) / Approved for entry into archive by Marlene Sousa(mmarlene@ufc.br) on 2015-03-04T16:07:48Z (GMT) No. of bitstreams: 1
2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5) / Made available in DSpace on 2015-03-04T16:07:48Z (GMT). No. of bitstreams: 1
2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5)
Previous issue date: 2014-07-07 / 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.

Identiferoai:union.ndltd.org:IBICT/oai:www.repositorio.ufc.br:riufc/10841
Date07 July 2014
CreatorsMaciel, Danilo Leal
ContributorsSoares, José Marques
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFC, instname:Universidade Federal do Ceará, instacron:UFC
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0024 seconds