Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python

El propósito de este documento es generar el reporte del proyecto de grado. Su desarrollo está basado en la búsqueda e implementación de un algoritmo que permita mecanismos para encontrar plagio en código fuente. Este, debe considerar los requerimientos que posee la Universidad de los Andes. Adicion...

Full description

Autores:
Calderón Pachón, Héctor José
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/39247
Acceso en línea:
http://hdl.handle.net/1992/39247
Palabra clave:
Código fuente (Computación)
Algoritmos (Computadores)
Gestión de la configuración del software
Desarrollo de software
Ingeniería
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
id UNIANDES2_69a75e4764a3f6022327c46efc7c6f0a
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/39247
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.es_CO.fl_str_mv Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
title Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
spellingShingle Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
Código fuente (Computación)
Algoritmos (Computadores)
Gestión de la configuración del software
Desarrollo de software
Ingeniería
title_short Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
title_full Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
title_fullStr Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
title_full_unstemmed Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
title_sort Generación de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y Python
dc.creator.fl_str_mv Calderón Pachón, Héctor José
dc.contributor.advisor.none.fl_str_mv Hernández Hoyos, Marcela
Aparicio Baquen, Christian Camilo
dc.contributor.author.none.fl_str_mv Calderón Pachón, Héctor José
dc.subject.keyword.es_CO.fl_str_mv Código fuente (Computación)
Algoritmos (Computadores)
Gestión de la configuración del software
Desarrollo de software
topic Código fuente (Computación)
Algoritmos (Computadores)
Gestión de la configuración del software
Desarrollo de software
Ingeniería
dc.subject.themes.none.fl_str_mv Ingeniería
description El propósito de este documento es generar el reporte del proyecto de grado. Su desarrollo está basado en la búsqueda e implementación de un algoritmo que permita mecanismos para encontrar plagio en código fuente. Este, debe considerar los requerimientos que posee la Universidad de los Andes. Adicionalmente, el funcionamiento de este algoritmo se encuentra dentro de una aplicación web, siendo ejecutado luego de cargar varios proyectos en una carpeta específica. Al completar la carga, se inicia la comparación individual de cada fichero, dando como resultado los valores necesarios para encontrar el grado de relación entre este y los otros documentos del mismo nombre. Con el resultado de la comparación, la persona que carga la información determina si hay o no casos de plagio en el reporte que el algoritmo genera. Teniendo esto en cuenta, el proyecto se lleva a cabo con la motivación de brindar capacidades y mecanismos a los profesores para enfrentar de forma eficiente y automática el plagio. En este, se presenta en 6 secciones el proceso realizado. Inicialmente, en la sección Descripción general, se definen los objetivos del proyecto y se da una aproximación a diversas soluciones que se han detallado hasta el momento. Se identifican las necesidades específicas para los lenguajes de programación Java y Python definiendo el problema y su importancia. Luego, se encuentra el Diseño y especificaciones, donde se define el problema que se desea abordar, con los requerimientos y restricciones que aplican para el mismo. El siguiente punto es el Desarrollo del diseño, en el cual se detalla la información que se consultó para realizar el diseño y posteriormente la Implementación. En esta sección, se presenta el proceso que se llevó a cabo para completar el desarrollo. Finalmente, se muestran los Resultados y las Conclusiones del trabajo desarrollado, exponiendo el nivel de completitud que se consiguió del proyecto y el trabajo a futuro para la idea de proyecto.
publishDate 2019
dc.date.issued.none.fl_str_mv 2019
dc.date.accessioned.none.fl_str_mv 2020-06-10T16:07:43Z
dc.date.available.none.fl_str_mv 2020-06-10T16:07:43Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/1992/39247
dc.identifier.pdf.none.fl_str_mv u821146.pdf
dc.identifier.instname.spa.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.spa.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url http://hdl.handle.net/1992/39247
identifier_str_mv u821146.pdf
instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.es_CO.fl_str_mv spa
language spa
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.es_CO.fl_str_mv 48 hojas
dc.format.mimetype.es_CO.fl_str_mv application/pdf
dc.publisher.es_CO.fl_str_mv Universidad de los Andes
dc.publisher.program.es_CO.fl_str_mv Ingeniería de Sistemas y Computación
dc.publisher.faculty.es_CO.fl_str_mv Facultad de Ingeniería
dc.publisher.department.es_CO.fl_str_mv Departamento de Ingeniería de Sistemas y Computación
dc.source.es_CO.fl_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
instname_str Universidad de los Andes
institution Universidad de los Andes
reponame_str Repositorio Institucional Séneca
collection Repositorio Institucional Séneca
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/3dcdf610-c9e2-42de-b6f6-d85eb6f3e53a/download
https://repositorio.uniandes.edu.co/bitstreams/87f78757-6a27-4b04-8d51-42e1daf772ed/download
https://repositorio.uniandes.edu.co/bitstreams/a98fd1e2-2519-4be6-aff7-f313a5b1ae3b/download
bitstream.checksum.fl_str_mv 3ed468964df204ddcea2d55af966e78f
03929687be16a23863f23d7f0c1b6717
9d2b033ce0c79764ed7b37a95f55dcbf
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio institucional Séneca
repository.mail.fl_str_mv adminrepositorio@uniandes.edu.co
_version_ 1812133969208016896
spelling Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autores.http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Hernández Hoyos, Marcelavirtual::10782-1Aparicio Baquen, Christian Camilovirtual::10783-1Calderón Pachón, Héctor José560895002020-06-10T16:07:43Z2020-06-10T16:07:43Z2019http://hdl.handle.net/1992/39247u821146.pdfinstname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/El propósito de este documento es generar el reporte del proyecto de grado. Su desarrollo está basado en la búsqueda e implementación de un algoritmo que permita mecanismos para encontrar plagio en código fuente. Este, debe considerar los requerimientos que posee la Universidad de los Andes. Adicionalmente, el funcionamiento de este algoritmo se encuentra dentro de una aplicación web, siendo ejecutado luego de cargar varios proyectos en una carpeta específica. Al completar la carga, se inicia la comparación individual de cada fichero, dando como resultado los valores necesarios para encontrar el grado de relación entre este y los otros documentos del mismo nombre. Con el resultado de la comparación, la persona que carga la información determina si hay o no casos de plagio en el reporte que el algoritmo genera. Teniendo esto en cuenta, el proyecto se lleva a cabo con la motivación de brindar capacidades y mecanismos a los profesores para enfrentar de forma eficiente y automática el plagio. En este, se presenta en 6 secciones el proceso realizado. Inicialmente, en la sección Descripción general, se definen los objetivos del proyecto y se da una aproximación a diversas soluciones que se han detallado hasta el momento. Se identifican las necesidades específicas para los lenguajes de programación Java y Python definiendo el problema y su importancia. Luego, se encuentra el Diseño y especificaciones, donde se define el problema que se desea abordar, con los requerimientos y restricciones que aplican para el mismo. El siguiente punto es el Desarrollo del diseño, en el cual se detalla la información que se consultó para realizar el diseño y posteriormente la Implementación. En esta sección, se presenta el proceso que se llevó a cabo para completar el desarrollo. Finalmente, se muestran los Resultados y las Conclusiones del trabajo desarrollado, exponiendo el nivel de completitud que se consiguió del proyecto y el trabajo a futuro para la idea de proyecto.The main purpose of this document is to generate the report of the degree project. Its development is based on the search and implementation of an algorithm that provides mechanisms to detect plagiarism in main codes. This algorithm must take into account the requirements specified by Universidad de los Andes. In addition, this algorithm operates in a web application, as well as executed after adding various projects in an specific file. When the upload is completed, an individual comparation of each file is started; as a result, it communicates the necessary values in order to find the degree of relation between this and other files of the same name. With this information, the operator can determine whether or not the case can be considered as plagiarism. Considering all of the above, the project is inspired by the wish to provide teachers capacities and mechanisms to face, in an automatic and efficient way, plagiarism. Consequently, it is centered in generating new action mechanisms against this practice. In order to achieve this objective, a description of this document is presented below. In this document are six sections containing the process. Initially, in the section of General Description, objectives are defined as well as an approach to different solutions previously detailed. Specific necessities for Java and Python languages are specified, defining the main problem and its importance. Afterwards, Design and Specifications defines the target problem, alongside with requirements and restrictions that apply to the case. Next section, Design Development, details the information consulted so as to make the design and implementation. In this section, the development of this whole process is presented. Finally, Results and Conclusions of the present worked expose the level of completeness that was achieves in this project; as well as future work needed for this project.Ingeniero de Sistemas y ComputaciónPregrado48 hojasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y Computacióninstname:Universidad de los Andesreponame:Repositorio Institucional SénecaGeneración de un algoritmo para el análisis de similitudes de código fuente en lenguajes Java y PythonTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttp://purl.org/coar/version/c_970fb48d4fbd8a85Texthttp://purl.org/redcol/resource_type/TPCódigo fuente (Computación)Algoritmos (Computadores)Gestión de la configuración del softwareDesarrollo de softwareIngenieríaPublicationhttps://scholar.google.es/citations?user=9nnSYmMAAAAJvirtual::10782-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000326453virtual::10782-130e973c9-1db4-4731-b61b-bc73c4aceecdvirtual::10782-1afbd9f7d-dab0-4d10-a8e0-41754e0b7f0dvirtual::10783-130e973c9-1db4-4731-b61b-bc73c4aceecdvirtual::10782-1afbd9f7d-dab0-4d10-a8e0-41754e0b7f0dvirtual::10783-1ORIGINALu821146.pdfapplication/pdf1693111https://repositorio.uniandes.edu.co/bitstreams/3dcdf610-c9e2-42de-b6f6-d85eb6f3e53a/download3ed468964df204ddcea2d55af966e78fMD51THUMBNAILu821146.pdf.jpgu821146.pdf.jpgIM Thumbnailimage/jpeg5609https://repositorio.uniandes.edu.co/bitstreams/87f78757-6a27-4b04-8d51-42e1daf772ed/download03929687be16a23863f23d7f0c1b6717MD55TEXTu821146.pdf.txtu821146.pdf.txtExtracted texttext/plain71886https://repositorio.uniandes.edu.co/bitstreams/a98fd1e2-2519-4be6-aff7-f313a5b1ae3b/download9d2b033ce0c79764ed7b37a95f55dcbfMD541992/39247oai:repositorio.uniandes.edu.co:1992/392472024-03-13 14:16:24.734http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.co