dc.contributor.advisor | Pérez Hurtado de Mendoza, Ignacio | es |
dc.creator | Gandulo Lara, Manuel Isaac | es |
dc.date.accessioned | 2022-06-17T11:37:25Z | |
dc.date.available | 2022-06-17T11:37:25Z | |
dc.date.issued | 2021-06-01 | |
dc.identifier.citation | Gandulo Lara, M.I. (2021). Desarrollo de una herramienta para la detección de plagio en código R. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla. | |
dc.identifier.uri | https://hdl.handle.net/11441/134473 | |
dc.description.abstract | Este trabajo se basa en el desarrollo de una herramienta de detección de plagio en código
R y RMarkdownn. Con el fin de ofrecer al personal docente un software de código abierto
y On Premise capaz de detectar plagio en entregas con esta extensión.
Con la finalidad de ofrecer un software de código abierto capaz de detectar plagio entre
documentos con esta codificación, brindando la posibilidad al personal docente de detectar
plagio en entregas con extensión .R y .Rmd.
El contenido de este trabajo se ha dividido en 7 capítulos de la siguiente forma:
En el capítulo 1 se realiza una introducción sobre el plagio, el plagio en código fuente y
como se combate el plagio dentro de las universidades.
A lo largo del capítulo 2 se describen los aspectos generales del estado del arte, se
analizan diferentes programas de detección de plagio en código fuente, destacando sus
principales cualidades y analizando sus carencias. Finalmente, se realiza un análisis de
dicho estado del arte, sirviendo como argumentación fundamental para el desarrollo de la
herramienta de software que se presenta en este TFG.
El capítulo 3 se centra en el paquete SimilaR, ya presentado en el capítulo anterior.
Este paquete es quizás el más utilizado actualmente para la detección de plagio en código
R. En este capítulo se estudian minuciosamente sus prestaciones y limitaciones, con la
finalidad de proponer mejoras.
El capítulo 4 está dedicado a explicar los detalles de la nueva implementación. Se consigue
que la nueva herramienta, que bautizamos como SimilaR2, sea capaz de detectar plagio en
secciones de comentarios gracias a la implementación de algoritmos fingerprints, así como
ampliar las zonas de código R en dónde se puede detectar plagio (SimilaR tan solo puede
detectar plagio en el cuerpo de funciones, pero no en el código escrito fuera de ellas).
Adicionalmente, se explica la salida de SimilaR2, la cual aporta información detallada
del análisis de detección de plagio, análisis de clústering y nubes de palabras, entre otras
posibilidades.
Durante el capítulo 5, se detalla el proceso de construcción del paquete R SimilaR2, así
como de una aplicación web interactiva desarrollada con Shiny, esta última es capaz de
ejecutar SimilaR2 y mostrar los resultados en un interfaz web.
En el capítulo 6 se realiza un análisis estadístico de los resultados obtenidos por la
herramienta SimilaR2. Para ello, se construye un dataset de archivos R categorizados en
originales / plagios para así obtener una variable respuesta, sobre el dataset se aplica la
herramienta SimilaR2 y se realiza una serie de transformaciones para obtener las variables
predictoras. El marco de datos (variable respuesta y predictora) es modelizado mediante
Naive Bayes aplicando validación cruzada. Asimismo, se obtienen varios conjuntos de
resultados, ejecutando SimilaR2 sobre el dataset con diferentes parámetros. Finalmente,
se efectúa un análisis de clústering para determinar los grupos de plagio / no plagio en el
dataset.
Por último, en el capítulo 7 se enumeran las conclusiones sobre el trabajo realizado y se
plantean algunas líneas de trabajo futuro. | es |
dc.description.abstract | This eassay based on the development of a plagiarism detection tool in R code and
RMarkdownn. The aim is to provide teaching staff with an open source and On Premise
software capable of detecting plagiarism in deliveries with this extension.
The content of this work has been divided into 7 chapters as follows:
Chapter 1 provides an introduction to plagiarism, plagiarism in source code and how
plagiarism is combated within universities.
Chapter 2 describes the general aspects of the state of the art analyses different programmes for detecting plagiarism in source code, highlighting their main qualities and
analysing their shortcomings. Finally, an analysis of the state of the art is carried out,
serving as a fundamental argumentation for the development of the software tool presented
in this dissertation.
Chapter 3 focuses on the SimilaR package, already presented in the previous chapter.
This package is perhaps the most widely used at present for the detection of plagiarism in
R code. In this chapter, its features and limitations are studied in detail, with the aim of
proposing improvements.
Chapter 4 is dedicated to explain the details of the new implementation. The new tool,
which we are going to call SimilaR2, is able to detect plagiarism in comment sections
thanks to the implementation of fingerprinting algorithms, as well as to extend the areas
of R code where plagiarism can be detected (SimilaR can only detect plagiarism in the
body of functions, but not in the code written outside them). Additionally, the output
of SimilaR2 is explained, which provides detailed information on plagiarism detection
analysis, clustering and word cloud analysis, among other possibilities.
During chapter 5, the process of building the SimilaR2 R package is detailed, as well as
an interactive web application developed with Shiny, the latter being able to run SimilaR2
and display the results in a web interface.
In chapter 6, a statistical analysis of the results obtained by the SimilaR2 tool is carried
out. To do so, a dataset of R files categorised into originals/plagiarism is constructed to
obtain a response variable, the SimilaR2 tool is applied on the dataset and a series of
transformations are carried out to obtain the predictor variables. The data framework
(response and predictor variable) is modelled by Naive Bayes applying cross-validation.
Several sets of results are obtained by running SimilaR2 on the dataset with different
parameters. Finally, a clustering analysis is performed to determine the plagiarism/nonplagiarism groups in the dataset.
Finally, chapter 7 lists the conclusions of the work carried out and suggests some lines
of future work. | es |
dc.format | application/pdf | es |
dc.format.extent | 99 p. | es |
dc.language.iso | spa | es |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 Internacional | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.title | Desarrollo de una herramienta para la detección de plagio en código R | es |
dc.type | info:eu-repo/semantics/bachelorThesis | es |
dc.type.version | info:eu-repo/semantics/publishedVersion | es |
dc.rights.accessRights | info:eu-repo/semantics/openAccess | es |
dc.contributor.affiliation | Universidad de Sevilla. Departamento de Ciencias de la computación e Inteligencia artificial | es |
dc.description.degree | Universidad de Sevilla. Grado en Estadística | es |
dc.publication.endPage | 99 | es |